Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 9 odgovora
  • 5.696 pregleda

Najnovija ↓

Python code - prilozi korisnika 07.09.2007. u 17:41 · pre 233 meseca #1
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.
Re: Python code - prilozi korisnika 07.09.2007. u 17:43 · pre 233 meseca #2
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.
Re: Python code - prilozi korisnika 07.09.2007. u 18:27 · pre 233 meseca #3
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>
Re: Python code - prilozi korisnika 07.09.2007. u 19:27 · pre 233 meseca #4
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! :)
Re: Python code - prilozi korisnika 07.09.2007. u 20:11 · pre 233 meseca #5
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

Potpis
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.
Re: Python code - prilozi korisnika 07.09.2007. u 23:48 · pre 233 meseca #6
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.
Re: Python code - prilozi korisnika 08.09.2007. u 03:29 · pre 233 meseca #7

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.
Potpis
You need to install an RTFM interface.
Re: Python code - prilozi korisnika 30.09.2007. u 11:30 · pre 232 meseca #9
Tema malo zamrla... Evo nesto od mene
Potpis
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.
Re: Python code - prilozi korisnika 12.10.2007. u 02:25 · pre 232 meseca #10
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



Potpis
[code]
print "Hello"
[/code]

---------------------------------------
Ljudi traze znanje, a ja trazim burek
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme