 |
|
 |
|
| |
February 27th, 2010
Používáte Bazaar? Máte někde na serveru “repozitáře” a potřebujete občas rychle zjistit název projektu, jeji branch/push/merge url a shlédnout rychle log? Nechcete kvuli tomu rozjíždět nějakou megalomanskou věcičku ala Loggerhead, která navíc zobrazuje zdrojáky a tudíž musí být pod heslem? (Aby bylo jasno, Loggerhead je skvělá věc, ale pro vypsaní branchů a jejich url je to overkill). Pak jste tu…… správně. Postačí vám CGI a pár řádek v Pythonu. Nikdy jsem neměl (mimo jiných) grafický nadání, takže jestli vás to hodně mlátí do očí, poslužte si.

Popularity: 2% [?]
December 5th, 2009
Když jsem si cca před tejdnem pořídil další hračičku (G1 s Androidem), nenapadlo mě, že si v tom půjde hrát s Pythonem. A ono jde. A ještě s třeba s Perlem a Ruby atd. Díky ASE je možný víceméně přistupovat k API Androidu pomocí skriptovacích jazyků. Nevím jestli to není v dokumentaci, nebo jsem přihlouplej, ale docela mě vytáčí, že to spousu věcí zatim neumí (pro začátek bych se spokojil třeba jen s odklepávací zprávou). V samotným ase se skripty daji přímo psát, nebo hodit do editoru z barcodu, nicméně doporučuju je psát na počítači a do telefonu je jen pushnout přes adb. Než tedy zjistím, jak se s tím daji dělat i užitečnější věci, doufám, že nepohrdnete jednoduchým skriptem, kterej “toustuje” (”ukazuje krátký informační okýnka”) jídla z jídelníčku u Rozvařilů. Všem kromě mě zcela určitě k ničemu, nicméně jako demonstrace možností nebo inspirace snad postačí.
# -*- coding: utf-8 -*-
import android,re,urllib2
from datetime import datetime
droid = android.Android()
def get_page(url):
try:
d = urllib2.urlopen(url)
return d.read()
except urllib2.HTTPError, e: pass
except urllib2.URLError, e: pass
return False
data = get_page(‘http://www.rozvarilovi.cz/stranka/jidelni-listek’)
if data != False:
data = data.replace(‘\r\n‘,”)
match = re.search(r‘<div align="left">(.*?)</div>’,data)
droid.vibrate(500)
for l in match.groups(1)[0].decode(‘cp1250′).split(‘\n‘):
if l != ”: droid.makeToast(l)
else: droid.makeToast(‘Failed to reach site…’)
droid.exit()
QR kód hír a regulérní zdroj ouvr hír. A proč v nadpisu androidí aplikace? Chtěl jsem pár zajímavejch vypíchnout. Tak snad příště.
Popularity: 9% [?]
July 3rd, 2009
Dneska jsem byl ráno zaskočenej další výlukou z výluky. Luxusní epizodka, včetně babičky bušící holí do kabinky řidiče. Opravdu k popukání, zvlášť když zrovna někam člověk spěchá. Richard Bukovansky mě na Twitteru pošťuchoval, ať si výluky nechám posílat cronem SMSkou na mobil. Tak jsem mu teda uvařil kaši, aby měl kolem čeho chodit Upozorňuju, že jde o klasickej reverzní beerware - tedy “kopni do sebe pár piv, nabastli skript, druhej den se chytni za hlavu a nech to plavat”. Sosáčky sem.
PS. Předkpokládá se, že máte k disposici python, cron a telefén u O2
Popularity: 22% [?]
May 17th, 2009
Chtěl jsem původně psát o průběhu stěhování do novýho bytu, ale už to nějak neni živý, takže alespoň použiju ten nadpis. Jelikož najíždí zkouškový, všechno se mi rozpadá pod rukama a prostě nemám vůbec žádnej čas, nastala nejvohdnější doba napsat nějakou blbůstku.
Inspiroval mě Adam, kterej mi ukázal, že last.fm umí vypsat všechny events (konzerty, fesťáky atd) pro zadanou oblast. To pro mě byla trošku Amerika a to včetně Fidela a jeho bratra. Naštěstí je v API tahle fíčurka podporovaná, takže psát další hloupočkej skript byla celkem zábava. Menší vada na kráse je, že last.fm bere zadaný město s menším okolím. Mňo, menší asi tak v ruských měřítkách. Zkrátka, zadám-li “Prague” stane se, že nám tam spadne nejen Benešov (což chápu), ale i Ustí nad Labem. Na(ne)štěstí se tam toho zas tak moc zajimavýho neděje. Už k věci. Skriptu stačí poslat město (zkoušel jsem Prahu /Prague/, Brno, Plzeň) a dostanete jednoduchej seznam akcí. Na cca tejden dopředu. API nepodporuje nastavení datumu, ale pouze “stránkuje”, ale 10 stránek je v Praze cca na 5 dní včetně víkendu. Počet parsovanejch stránek je možný ovlivnit paramaterem. Podrobnosti při spuštění skriptu bez parametrů 
Stahovat tady, jak to cca vypadá kouknout tady. Tak snad už budete mít za co utrácet peníze. Kultůůra.
PS. Šestý patro bez výtahu, přejetá matrace na Evropský a další. Ale už jsem to vyprávěl tolikrát, že mě to už nebaví ještě psát
Popularity: 18% [?]
February 11th, 2009
Narazil jsem na zajímavej spotík s odkazem na dump geoip databáze k volnému použití. A protože linuxový geoiplookup háže při dotazu na ip v lepším případě stát a v horším vůbec nic, musel jsem si prostě zapřehánět a napsat jednoduchý vyhledávání (zdroják) nad staženou databází napsat samička…
#!/usr/bin/env python
import MySQLdb,sys,string
if(len(sys.argv) == 2):
try:
db = MySQLdb.connect("localhost", "root", "", "geoip")
except MySQLdb.Error, e:
print "Error %d: %s" % (e.args[0], e.args[1])
sys.exit (1)
print ‘\nGeoIPLookup for ‘+sys.argv[1]
print (len(sys.argv[1])+16) * ‘=’
ip = sys.argv[1].split(‘.’)
ip = (int(ip[0])*256+int(ip[1]))*256+int(ip[2])
cursor = db.cursor()
cursor.execute(‘SELECT * FROM ip_group_city WHERE ip_start <= %s ORDER BY ip_start DESC LIMIT 1′,ip)
city = cursor.fetchone()
cursor.execute(‘SELECT name FROM fips_regions WHERE code = %s AND country_code = %s’,(city[2],city[1]))
region = cursor.fetchone()
cursor.execute(‘SELECT name FROM fips_countries WHERE code = %s’,city[1])
country = cursor.fetchone()
print "City:\t\t%s\nRegion:\t\t%s, %s\nCountry:\t%s, %s\nGPS (lat/lon):\t%s/%s\nZIP:\t\t%s" % (city[3],region[0],city[2],country[0],city[1],city[5],city[6],city[4])
db.close()
else: print ‘Pass the ip, pal!’
Popularity: 19% [?]
Next Page » |
| |
 | |  |
|
|
|