Atjaunināts files.inbox.lv downloader
2009-12-09 09:05:09 UTC by maris in python, Internets, Skripti,Atjaunināju files.inbox.lv downloder, tagad ari uploader skriptu.
Galvenais jauninājums ir upload iespējam, kā arī iespēja uplodēt direktorijas saturu un pat rekursīvi uploadēt direktorijas un apakšdirektoriju saturus. Direktoriju struktūras koks nesagabājas.
Paņemt te
Asinhrons serveris 5 minūtēs ar Twisted
2009-12-08 21:25:12 UTC by maris in python, Twisted,Vienkārša asinhrona server piemērs ar defered pielietojumu. Dotais piemērs nodarbojas ar to ka saņem stringu un atgriež stringa hash summu, pēc EOF pātrauc savienojumu. Lai neaizmirstu :)
#!/usr/bin/env python
from twisted.protocols.basic import LineReceiver
from twisted.internet import reactor, protocol, defer
import re
class SimpleServer(LineReceiver):
defer.setDebugging(True)
# Twisted Method, is called when connection has been made
def connectionMade(self):
self.sendLine("Hi %s"%(self.transport.getPeer()[1]))
# Twisted Method, is called when connection has been lost
def connectionLost(self, data):
print "Calling Connection lost"
# Twisted Method, is called when line is received
def lineReceived(self, line):
# If line is EOF, disconnecting
if re.search('^EOF$',line):
# Twisted method to disconnect
self.transport.loseConnection()
else:
# Creating defered object
defered = self.DeferedFunction('%s'%(line))
# Adding Callbec to be run, when result is ready
defered.addCallback(self.ReturningFunction)
# Function which is doing defered stuff
def DeferedFunction(self, data):
# initng defered
d = defer.Deferred()
import hashlib
digest = hashlib.sha224(data).hexdigest()
# Sending data to callback
d.callback('String hash: %s'%(digest))
# returning deferd object
return d
# Callback function
def ReturningFunction(self, data):
# Returning result to client
self.sendLine("%s"%(data))
def main():
factory = protocol.ServerFactory()
factory.protocol = SimpleServer
reactor.listenTCP(1100,factory)
reactor.run()
if __name__ == '__main__':
main()
files.inbox.lv downloader
2009-06-05 15:09:46 UTC by maris in Linux, python, Skripti, Apple, Software,files.inbox.lv ir visai jauns failu glabāšanas serviss, kam ir diezgan ērta upload forma, kas ļauj augšup ielādēt vairākus failus vienlaicīgi, bet diemžēl nav iespējas lejupielādēt vairākus failus vienlaicīgi, tādēļ uzrakstīju nelielu Python skriptu, kas šo trūkumu atrisina.
Inbox Files Downloader ir komandrindas (cli) Python skripts, kas lejupielādē failus no files.inbox.lv servisa, saglabājot tos uz lokālā diska. Skripts ir spējīgs lejupielādēt individuālus failus, vaī pat veselu direktoriju saturu.
Spēj lejupielādēt:
1. Privātos failus un direktorijas saturus, ar autorizāciju
2. Publiskos failus - bez autorizācijas
Lai lejupielādēt privāto failu vai direktorijas saturu:
./inbox-files-downloader.py -s 'http://files.inbox.lv/files/download/?id=9999' -d Downloads/
pēc kā tiks paprasīti autorizācijas dati.
vai publisko:
./inbox-files-downloader.py -s 'http://files.inbox.lv/ticket/2dcb12a3282ce55ac122c118ac4c567acae474c5/817-2271.pdf' -d Downl/
autorizācijas dati netiks prasīti.
Komentāri un ieteikumi ir laipni gaidīti :)
Nepieciešama UNIX tipa OS un python > 2.4, pie lielas vēlēšanās var modificēt arī priekš Win.
paņemt var te:
py skripts: inbox-files-downloader
Win32 exe: inbox-files-downloader-r20
Netconsole2Mail
2008-12-05 10:28:18 UTC by maris in Linux, python, Skripti,dmesg ir visai noderīga lieta kodola ziņu pārlūkošanai. Kodols signalizē, ja ir kādas problēmas ar aparatūru vai programmaturu (piem. failu sistēmu), tas viss tiek atspoguļots iekš dmesg. Un cik bieži sanāk apskatities dmesg? Droši vien tikai tad, kad tiek atjaunināta sistēma, vai arī rodas kādas problēmas. Linux Kernelī ir lieta, kas saucas "netconsole". Netconsole dod iespēju sūtīt kerneļa ziņas uz kādu citu centrālu serveri, tas var būt syslog serveri, vai arī vienkāršs netcat, bet gan netcat gan syslog ir trūkumi netconsole ziņu saņemšanā un kādu darbību izpildē. Tādēļ nolēmu uzrakstīt nelielu dēmonu, kas tad veiktu netconsole server funkcijas. Tā darbība ir visai vienkārša tas saņem ziņas uz 6666/udp, liek buferī, un pēc kāda konfigurēta intervāla buffera saturu sūta administratoram. Paņemt var te: http://forums.gentoo.lv/index.php?topic=36.0
(0 komentāri)izlaists python-3.0
2008-12-04 14:35:49 UTC by maris in python,Beidzot ir izlaista python 3. versija. "Python 3.0 (a.k.a. "Python 3000" or "Py3k") is a new version of the language that is incompatible with the 2.x line of releases. The language is mostly the same, but many details, especially how built-in objects like dictionaries and strings work, have changed considerably, and a lot of deprecated features have finally been removed. Also, the standard library has been reorganized in a few prominent places." Spriežot pēc relīzes info, tad visi skripti, kas ir rakstīti uz python-2.x būs jāpārraksta, jo šīs versijas nav savietojamas, kas liekas samērā dīvaini, jo "major" versijām ar soli 1 būtu jābūt atpakaļ savietojamām. sīkāk lasīt te: http://www.python.org/download/releases/3.0/
(0 komentāri)