-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathvideo.py
71 lines (57 loc) · 1.79 KB
/
video.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
import platform
import os
import re
class Video:
minmovielength=750
def __init__(self,path):
self.path=path
self.size=self.getSize()
self.name=self.getName()
def __repr__(self):
return f'{self.getName()}'
def getName(self):
if platform.system()=='Windows':
name=self.path.split('\\')[-1]
elif platform.system()=='Linux':
name=self.path.split('/')[-1]
return name
def getSize(self):
self.size=os.stat(self.path).st_size//1000000
return self.size
def getIndex(self,name):
pattern=r'([s|S][0-9][0-9][e|E][0-9][0-9])'
match=re.search(pattern,name)
return match
@property
def is_a_movie(self):
if self.size>Video.minmovielength and not self.is_a_series:
return True
else:return False
@property
def is_a_series(self):
match=self.getIndex(self.name)
if match:
return True
else: return False
def setDestination(self,destination):
self.destination=destination
class Movie(Video):
def __init__(self,path):
super().__init__(path)
class Series(Video):
def __init__(self,path):
super().__init__(path)
self.index=self.getIndex(self.name)
self.name=self.setName()
self.season=self.setSeason()
self.episode_number=self.setEpisode()
def setName(self):
name=self.name[:self.index.start()-1]
return name
def setSeason(self):
season=self.index.group()[:3].upper()
print(season)
return season
def setEpisode(self):
episode_number=self.index.group()[-2:]
return episode_number