
Untitled
By: a guest on
Sep 20th, 2012 | syntax:
Python | size: 1.15 KB | hits: 40 | expires: Never
#!/usr/bin/python
# -*- coding: UTF-8 -*-
import math
def check(a):
# if a == "":return False,0
if a[-1:] =="p" and a[0].isdigit(): return True,len(a)
if a.replace('/','').replace('\\','').isdigit(): return True,len(a)
if a[0] =="s" and a[-1:].isdigit() : return True,len(a)
else:return False,0
def short(string,length):
return string[:length]
def xer(d):
splt=d.split('-')
while 1:
try: splt.remove('')
except(ValueError): break
l=[0,0,0]
for c in xrange(len(splt)):
if check(splt[c])[0]==False:l[0]=l[0]+1
elif check(splt[c])[0]==True:l[1]=l[0]+check(splt[c])[1]
l[2]=l[2]+1
length=int(math.floor((19-l[1]-l[2])/l[0]))
g=[]
for m in xrange(len(splt)):
if check(splt[m])[0]==False:g.append(short(splt[m],length))
else: g.append(splt[m])
return "-".join(map(str, g))
def classs(d):
if len(d)>20:return xer(d).replace('/','_').replace('\\','_')
else: return d.replace('/','_').replace('\\','_')
print classs('Geroev-Revolyutsii-32/1-3p--sw2')