Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Python code - prilozi korisnika

[es] :: Python :: Python code - prilozi korisnika

[ Pregleda: 3688 | Odgovora: 9 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

mr.marvin

Član broj: 137276
Poruke: 111
*.crnagora.net.



Profil

icon Python code - prilozi korisnika07.09.2007. u 16:41 - pre 151 meseci
U duhu zelje da se pokrene sajt koji bi se bavio programiranjem u Python programskom jeziku, i ideje da bi mozda bilo bolje za pocetak napraviti temu na forumu u kojoj bi korisnici ostavljali svoj kod, evo da ucinim prvi korak.

Vjerovatno svako od nas na disku ima skripti/programa koji spadaju u kategoriju "alatki", programcica koji obavljaju neki jednostavan zadatak i stede mnogo vremena. Medjutim, takve programe ne ostavljate na internetu i ne dokumentujete ih iz razloga sto smatrate da svako ko zna Python moze tako nesto da uradi za relativno kratko vijeme.

Pa hajde da te programe dokumentujemo i kacimo na u ovom topicu. Kratak opis, sta program radi, zasto je nastao + kompresovani kod.
 
Odgovor na temu

mr.marvin

Član broj: 137276
Poruke: 111
*.crnagora.net.



Profil

icon Re: Python code - prilozi korisnika07.09.2007. u 16:43 - pre 151 meseci
Playccy - parsiranje i kopiranje fajlova u playlistama

Da li vam se desio da zelite da kopirate mnogo mp3/wml fajlova koji su razbacani u razlicitim folderima? Pojedinacno kopiranje fajlova u ovom slucaju bi potrajalo.

Ovaj Python program ce iz Winamp (*.m3u), Windows Media Player (*.wpl), ili obicne tekstualne liste, iscitati putanje fajlova i kopirati ih u dati folder:

Code:
playccy.py "playlist path" "destination folder path"


Ukoliko dvokliknete na fajl, pokrenucete jednostavnog carobnjaka.

Program je nastao kada mi se desilo da WMP kopira muziku na player i stavlja je u direktorijume koje softver u plejeru ne prepoznaje.
Prikačeni fajlovi
 
Odgovor na temu

mr.marvin

Član broj: 137276
Poruke: 111
*.crnagora.net.



Profil

icon Re: Python code - prilozi korisnika07.09.2007. u 17:27 - pre 151 meseci
Makedirinfo.py - stablo foldera i fajlova u xml

Ovaj program pravi mapu direktorijuma u XML formatu, biljezeci pri tome i velicinu fajlova, a opciono opis fajla i kljucne rijeci. Uz ISO fajl zelio sam da imam i strukturu diska sa folderima i fajlovima, i tako je nastao ovaj programcic.

Primjer sadrzaja XML fajla:

Code:
  <dir name="\apps\VirtualDub-1.6.17\aviproxy">
    <file name="proxyoff.reg">
      <size>
        192
      </size>
    </file>
    <file name="proxyon.reg">
      <size>
        192
      </size>
    </file>
    <file name="readme.txt">
      <size>
        1076
      </size>
    </file>
  </dir>
Prikačeni fajlovi
 
Odgovor na temu

mr.marvin

Član broj: 137276
Poruke: 111
*.crnagora.net.



Profil

icon Re: Python code - prilozi korisnika07.09.2007. u 18:27 - pre 151 meseci
Pystream - sadrzaj foldera kao server

Pystream ce od foldera u kome se pokrene napraviti lokalni server na portu 8000. U fajlu masks.txt izmijenite ekstenzije onih fajlova koje zelite da prikazete kada posjetioci posjete http://vas_ip:8000. IP adresu ce pronaci sam skript i na osnovu sablona kreirati index.html.

Napisano jednom prilikom kada sam sa prijateljima na jednostavan nacin zelio podijeliti neke fajlove...

Sad mislim da je dosao red i na ostale! :)
Prikačeni fajlovi
 
Odgovor na temu

StefanJer91
Stefan Jeremic
Beograd

Član broj: 121923
Poruke: 160
*.mainstream.co.yu.



Profil

icon Re: Python code - prilozi korisnika07.09.2007. u 19:11 - pre 151 meseci
Jedan program koji je vrlo koristan za obradu slika za igre. Npr. imate 2d sprite koji ste dobili renderom u blenderu ili nekom drugom 3d programu. Program ce smanjiti velicinu sprite-a na najmanju mogucu velicinu koju on dozvoljava (napraviti sto manji okvir oko slike) i obrisati sve zamrljanje pixele, tacnije dati im boju transparentnog pixela. Program nije jos sasvim optimizovan ali sluzi svrsi. Potreban vam je pygame i pyrex(za kompajliranje pyx filea).

Code:

#main.py

from boost import*
import pygame, time
pygame.init()

image = pygame.image.load('ime_slike.bmp')
width = image.get_width()
height = image.get_height()
trans_color = image.get_at((0,0))
pixels = []

def pregled(w,h, image):
    for x in xrange(width):
        for y in xrange(height):
            test_pixel = image.get_at((x,y))
            if provera(30, test_pixel,trans_color):
                pixels.append((x,y))
            else:
                if test_pixel != trans_color:
                    image.set_at((x,y),trans_color)
                    
print 'Pregled slike...'
t = time.time()

pregled(width,height, image)
print 'Pregled zavrsen. Vreme: ',time.time()-t
xmax = 0
xmin = width

ymax = 0
ymin = height
print 'Najvece i najmanje vrednosti...'
t= time.time()
for x,y in pixels:
    if x > xmax:
        xmax = x
    elif x < xmin:
        xmin = x
    if y > ymax:
        ymax = y
    elif y < ymin:
        ymin = y
print ' Vrdnosti odredjene. Vreme: ', time.time()-t

rect = pygame.Rect(xmin,ymin, xmax-xmin,ymax-ymin)
new_surface = pygame.Surface((xmax-xmin,ymax-ymin))
new_surface.blit(image, (0,0), rect)

pygame.image.save(new_surface, 'izlaz.bmp')

print xmin, ymin        


Code:

#boost.pyx

cdef izmedju(int n, int b1,int b2):
    if b1<=n<=b2:
        return 1
    else:
        return 0

def provera(int razmak, c1, c2):
    if c1 == c2:
        return 0
    elif izmedju(c1[0], c2[0]-razmak, c2[0]+razmak)\
         and izmedju(c1[1], c2[1]-razmak, c2[1]+razmak)\
         and izmedju(c1[2], c2[2]-razmak, c2[2]+razmak):
        return 0
    else:
        return 1


The earth teaches us more about ourselves than all the books. Because it resists us. Man discovers himself when he measures himself against the obstacle.
 
Odgovor na temu

mr.marvin

Član broj: 137276
Poruke: 111
*.crnagora.net.



Profil

icon Re: Python code - prilozi korisnika07.09.2007. u 22:48 - pre 151 meseci
Treba malo vise da se potrudis :) Stavi svoj kod u module, obavezno prokomentarisi sta program radi, kako se koristi, stavi verziju, ostavi mail ako zelis... Za primjer svega ovoga pogledaj kako sam ja to uradio, i ti mozes slicno ili tako. Podrazumjeva se da ne mora biti na engleskom, vazno je da se razumije :) Nako toga kompresuj program (ili ne, ako je samo jedan fajl) i okaci na poruku u kojoj fino napises kako se program zove i ukratko sta radi. Ja sam to uradio u prvom redu, i boldovao.

Ovako copy/paste u code u postu nije od koristi, a i nepotrebno opterecuje stranicu na forumu.
 
Odgovor na temu

anrxc

Član broj: 43899
Poruke: 452
*.adsl.net.t-com.hr.

Sajt: sysphere.org


Profil

icon Re: Python code - prilozi korisnika08.09.2007. u 02:29 - pre 151 meseci

subconvert -- Converts between MicroDVD (sub) and SubRip (srt) subtitle formats

Zaista ne vidim kako se dodaje attachment, pa evo link
http://sysphere.org/temp/subconvert

Napisano iz nuzde prosle godine, vi mlade nade bi mogli poboljsati kod ili dodati podrsku za jos formata.
Opis je u zaglavlju ispod licence.

You need to install an RTFM interface.
 
Odgovor na temu

abc

Član broj: 22897
Poruke: 144
91.150.111.*



+1 Profil

icon Re: Python code - prilozi korisnika15.09.2007. u 15:45 - pre 151 meseci
Ukoliko imate interesantnu Python skriptu primenljivu u BLENDER-u posetite forum za korisnike BLENDER-a:

http://blenderserbia.20.forumer.com
 
Odgovor na temu

StefanJer91
Stefan Jeremic
Beograd

Član broj: 121923
Poruke: 160
*.mainstream.co.yu.



Profil

icon Re: Python code - prilozi korisnika30.09.2007. u 10:30 - pre 151 meseci
Tema malo zamrla... Evo nesto od mene
The earth teaches us more about ourselves than all the books. Because it resists us. Man discovers himself when he measures himself against the obstacle.
Prikačeni fajlovi
 
Odgovor na temu

BigBrother2005

Član broj: 54621
Poruke: 97

Sajt: sremcod.coconia.net


Profil

icon Re: Python code - prilozi korisnika12.10.2007. u 01:25 - pre 150 meseci
evo vam jedne male skripte koja skenira direktorijum pun divx filmova... i renameuje srt i sub fajlove da budu istog naziva kao avi fajl, NAPOMENA - direktorijume koji imaju vise od dva avi fajla preskace, takodje... ako ima od vise od dva srt ili suba u direktorijumu nece raditi poso! :)

Code:

###Divx Folder Helper v.01###
import os,sys,time

###directory enumerator###
def enumerate(dir):
    dout=os.listdir(dir)
    return dout


###avi counter###
def avicount(dirx):
    avout=0
    avcnt=os.listdir(dirx)
    for i in avcnt:
        xt=(dirx+"/"+i)
        if xt[-4:]==".avi" :
            avout+=1
        else:
            avout+=0
    return avout


###GET SUB FILE NAME###
def getsubname(dirx):
    subname={}
    cntr=0
    subnmf=os.listdir(dirx)
    for i in subnmf:
        xt=(dirx+"/"+i)
        if xt[-4:]==".srt" :
            subname[cntr]=xt
            cntr+=1
        elif xt[-4:]==".sub":
            subname[cntr]=xt
            cntr+=1
        else:
            pass
        
    return subname

###GET AVI FILE NAME###
def getaviname(dirx):
    aviname={}
    cntrx=0
    subnmf=os.listdir(dirx)
    for i in subnmf:
        xt=(dirx+"/"+i)
        if xt[-4:]==".avi" :
            aviname[cntrx]=xt
            cntrx+=1
        else:
            pass
        
    return aviname


###file - renamer - 1 AVI CASE###



###file - renamer - 2 AVI CASE###






###action-primer###

x=os.getcwd()
y=enumerate(x)
for ix in y:
    dix=(x+"/"+ix)
    if os.path.isdir(dix):
        l=avicount(ix)
        q=getsubname(ix)
        z=getaviname(ix)
        if l==0:
            pass
        elif l==1:
            for ic in q:
                print "promeni ime " , q[ic],z[0][:-4]
                zeq=(z[0][:-4]+q[ic][-4:])
                os.renames(q[ic],zeq)
                f=open((dix+"/"+"dfh.log"), "w")
                Log=""
                Log+="Originalno ime prevoda:"+q[ic]+"\n"
                Log+="Novi naziv prevoda :"+zeq+"\n"
                Log+="File generated by DFH"+"\n"
                now = time.localtime(time.time())
                vreme=time.asctime(now)
                Log+=vreme
                f.write(Log)
                f.close
        elif l==2:
            print "Ima Dva ili vishe avi fajla u direktorijumu"
                
    else:
        pass




[code]
print "Hello"
[/code]

---------------------------------------
Ljudi traze znanje, a ja trazim burek
 
Odgovor na temu

[es] :: Python :: Python code - prilozi korisnika

[ Pregleda: 3688 | Odgovora: 9 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.