import os
import datetime
import n_gram
+import zenhan
def detName(title,path):
tt=detNameType(title, path)
ff=[]
maxnum=0
for file in files:
+ print file
+ file=os.path.join(movepath,file)
if os.path.isfile(file):
name=os.path.splitext(os.path.split(file)[1])
+ name=name[0]
+ name=zenhan.toHankaku(unicode(name))
p1=detNameType(name,movepath)
print p1['title']+" "+str(p1['num'])
time1=time.localtime(os.path.getmtime(file))
- ff.append([p1['num'],p1['title'],time1])
- if maxnum<p1['num']+1:
- maxnum=p1['num']+1
- f3=[maxnum]
+ time1=datetime.datetime.fromtimestamp(os.path.getmtime(file))
+ if p1['num']!=-1:
+ ff.append([p1['num'],p1['title'],time1])
+ if maxnum<p1['num']+1:
+ maxnum=p1['num']+1
+ f3=[None]*maxnum
+ print f3
+ fret={}
for i in range(0, maxnum, 1):
+ print i
f3[i]=[]
for f2 in ff:
f3[f2[0]].append(f2)
for i in range(maxnum):
for j in range(i+1,maxnum,1):
-
+ for ft3 in f3[i]:
+ for ft4 in f3[j]:
+ for gdd in guessDeltaDay(i, ft3[2], j, ft4[2]):
+ print gdd
+ if fret.get(gdd[0])!=None:
+ print fret
+ fret[gdd[0]]=fret[gdd[0]]+gdd[1]
+ else:
+ fret[gdd[0]]=gdd[1]
+ print fret
def guessDeltaDay(num1,date1,num2,date2):
dd=date1-date2
if date1<date2:
dd=date2-date1
- d1=dd.days
- dd=dd+datetime.timedelta(hours=6)
- if dd!=d1:
-
+ dn=dd.days
+ d=num2-num1
+ if d<0:
+ d=-1*d
+ dp=dd+datetime.timedelta(hours=6)
+ dp=dp.days
+ dm=dd-datetime.timedelta(hours=6)
+ dm=dm.days
+ ret=[]
+ if dn%d*2>d:
+ dn=dn+d
+ if dm%d*2>d:
+ dm=dm+d
+ if dp%d*2>d:
+ dp=dp+d
+ print str(d)+":"+str(dn)
+ if dp!=dn:
+ ret.append([dn/d,60])
+ ret.append([dp/d,40])
+ elif dm!=dn:
+ ret.append([dn/d,60])
+ ret.append([dm/d,40])
+ else:
+ ret.append([dn/d,100])
+ return ret
def detNameType(title,path):
"""
type A ---title#<number>
type B ---title#<number>subtitle
type C ---title subtitle
type D ---title(without number)
+ type Aj ---title第<number>話
path --search reflexively
"""
- #print title
+ print title
#rA=re.compile(".+(?P<title>)#\d(?P<num>)\s[0,10]\z")
rA=re.compile("(.+)#(\d*)\s*\Z")
tA=rA.match(title)
rB=re.compile("(.+)#(\d*)\s*(\D*)")
tB=rB.match(title)
+ rAj=re.compile("(.+)第(\d*)話\s*\Z")
+ tAj=rAj.match(title)
ret={'title':"",'type':"",'num':0,'subtitle':"",'folder':""}
if tA:
print "typeA"
ret['title']=tA.group(1)
ret['num']=int(tA.group(2))
ret['folder']=searchFolder(tA.group(1),path)
+ if tAj:
+ print "typeA"
+ print "title="+tAj.group(1)
+ print "num="+tAj.group(2)
+ ret['type']="Aj"
+ ret['title']=tAj.group(1)
+ ret['num']=int(tAj.group(2))
+ ret['folder']=searchFolder(tAj.group(1),path)
elif tB:
print "typeB"
print "title="+tB.group(1)
#print "title="+rt[0][1:]+"/"
#print "subtitle = "+title.replace(rt[0][1:],"")[1:]
ret['title']=rt[0][1:]
- ret['num']=""
+ ret['num']=-1
ret['folder']=rt[2]
ret['subtitle']=title.replace(rt[0][1:],"")[1:]
if ret['subtitle'].replace(" ","")=="":