OSDN Git Service

add reclog table.
[rec10/rec10-git.git] / rec10 / trunk / src / recdb.py
1 #!/usr/bin/python
2 # coding: UTF-8
3 # Rec10 TS Recording Tools
4 # Copyright (C) 2009 Yukikaze
5 import chdb
6 import rec10d
7 import recdb
8 """
9 task names
10 """
11 global REC_RESERVE
12 global REC_FINAL_RESERVE
13 global REC_END
14 global REC_ENCODE_GRID
15 global REC_ENCODE_LOCAL
16 global REC_ENCODE_QUE
17 global REC_MIXING_SOUND
18 global REC_MISS_ENCODE
19 global REC_KEYWORD
20 global REC_KEYWORD_EVERY_SOME_DAYS
21 global REC_FIN_DECODE
22 global REC_FIN_LOCAL
23 global REC_MISS_DECODE
24 global REC_TS_DECODE_QUE
25 global REC_TS_DECODING
26 global REC_TS_RECORDING
27 global REC_AVI_TO_MKV
28 global REC_CHANGING_CANTAINER
29 REC_RESERVE = "res"
30 REC_FINAL_RESERVE = "rec"
31 REC_END = "end"
32 REC_ENCODE_GRID = "grid"
33 REC_ENCODE_LOCAL = "local"
34 REC_ENCODE_QUE = "ts2avi"
35 REC_MIXING_SOUND = "mixsound"
36 REC_MISS_ENCODE = "miss"
37 REC_KEYWORD = "key"
38 REC_KEYWORD_EVERY_SOME_DAYS = "keyevery"
39 REC_FIN_DECODE = "tsfin"
40 REC_FIN_LOCAL = "fin_local"
41 REC_MISS_DECODE = "tsmiss"
42 REC_TS_DECODE_QUE = "b252ts"
43 REC_TS_DECODING = "tsdecoding"
44 REC_TS_RECORDING = "tsrecording"
45 REC_CHANGING_CANTAINER = "changingcontainer"
46 REC_AVI_TO_MKV = "avi2mkv"
47
48 def recreserv(title, chtxt, btime, etime, opt):#optにはa(アニメ)d(副音声)v(xvid)
49     rec_reckey("res", title, chtxt, btime, etime, opt)
50 def keyreserv(keyword, chtxt, btime, etime, deltatime, opt):
51     rec10d.rec10db.add_rectime(type=recdb.REC_KEYWORD, chtxt=chtxt, title=keyword, btime=btime, etime=etime, deltatime=deltatime, opt=opt)
52 def everyreserv(keyword, chtxt, btime, etime, deltatime, opt, deltaday):
53     rec10d.rec10db.add_rectime(type=recdb.REC_KEYWORD_EVERY_SOME_DAYS, chtxt=chtxt, title=keyword, btime=btime, etime=etime, deltatime=deltatime, opt=opt, deltaday=deltaday)
54 def rec_reckey(type, title, chtxt, btime, etime, opt):
55     rec10d.rec10db.add_rectime(type=type, chtxt=chtxt, title=title, btime=btime, etime=etime, opt=opt)
56 def del_reckey(type, title, chtxt, btime):
57     rec10d.rec10db.del_rectime(type=type, title=title, chtxt=chtxt, btime=btime)
58 def getnow(dhour):
59     dhour = int(dhour)
60     dminutes = 60 * dhour
61     dminutes = str(dminutes)
62     return rec10d.rec10db.select_bytime_rectime(dminutes)
63 def getnow_minutes(dminutes):
64     return rec10d.rec10db.select_bytime_rectime(dminutes)
65 def countRecNow(dhour):
66     d = getnow(dhour)
67     ret = 0
68     for i in d:
69         t = i['type']
70         if t == "key" or t == "keyevery" or t == "rec" or t == "res":
71             ret = ret + 1
72     return ret
73 def countRecNow_minutes(dminutes):
74     d = getnow_minutes(dminutes)
75     ret = 0
76     for i in d:
77         t = i['type']
78         if t == "key" or t == "keyevery" or t == "rec" or t == "res":
79             ret = ret + 1
80     return ret
81 def countRecNow_minutes_BSCS(dminutes):
82     d = getnow_minutes(dminutes)
83     ret = 0
84     for i in d:
85         t = i['type']
86         if t == "key" or t == "keyevery" or t == "rec" or t == "res":
87             if len(chdb.chtxtsearch(i['chtxt'])['ch']) > 2:
88                 ret = ret + 1
89     return ret
90 def countRecNow_minutes_TE(dminutes):
91     d = getnow_minutes(dminutes)
92     ret = 0
93     for i in d:
94         t = i['type']
95         if t == "key" or t == "keyevery" or t == "rec" or t == "res":
96             if len(chdb.chtxtsearch(i['chtxt'])['ch']) < 3:
97                 ret = ret + 1
98     return ret
99 def delete_old(dhour):
100     """
101     delete keys except recdb.REC_MISS_ENCODE and recdb.REC_KEYWORD_EVERY_SOME_DAYS before dhour hours from now.
102     """
103     rec10d.rec10db.delete_old_rectime(dhour)
104 def getall():
105     return rec10d.rec10db.select_all_rectime()
106 def rec_reclog(title,chtxt,btime,etime,opt,category):
107     rec10d.rec10db.add_reclog(chtxt,title,btime,etime,opt,category)
108