This commit is contained in:
Hyunchul Kim 2020-11-16 12:10:30 +09:00
parent 970a40c6f6
commit 89354ca1a3
4 changed files with 46 additions and 46 deletions

View file

@ -10,7 +10,7 @@ import markdown
from distribusi.page_template import html_footer, html_head from distribusi.page_template import html_footer, html_head
from distribusi.mappings import CODE_TYPES, FILE_TYPES, SUB_TYPES from distribusi.mappings import CODE_TYPES, FILE_TYPES, SUB_TYPES
from distribusi import fregments from distribusi import fragments
@ -128,7 +128,7 @@ def distribusify(args, directory, freg): # noqa
files.sort() files.sort()
# #
# fregments index # fragments index
# 작가 폴더 내인 경우 아티스트명 저장 # 작가 폴더 내인 경우 아티스트명 저장
# #
path = root.split('/') path = root.split('/')
@ -238,12 +238,12 @@ def distribusify(args, directory, freg): # noqa
def build_index(args, directory, freg): def build_index(args, directory, freg):
# #
# fregments index # fragments index
# 임시 데이터 저장 # 임시 데이터 저장
# #
print("--------- Build main index --------------") print("--------- Build main index --------------")
html = [] html = []
freg_data = freg.get_fregments() freg_data = freg.get_fragments()
for f in freg_data: for f in freg_data:
index = "{}".format(f.index) index = "{}".format(f.index)
url = "/{}/#{} ".format(f.artist, index.zfill(4)) url = "/{}/#{} ".format(f.artist, index.zfill(4))

View file

@ -4,7 +4,7 @@ import json
from operator import itemgetter from operator import itemgetter
class Fregment: class Fragment:
def __init__(self, index, update, directory, artist, file): def __init__(self, index, update, directory, artist, file):
self.index = index self.index = index
self.update = update self.update = update
@ -16,19 +16,19 @@ class Fregment:
return repr((self.index, self.update, self.directory, self.artist, self.file)) return repr((self.index, self.update, self.directory, self.artist, self.file))
class Fregments: class Fragments:
def __init__(self): def __init__(self):
self.index = {} self.index = {}
self.indextable = [] self.indextable = []
self.timetable = [] self.timetable = []
self.config_file = 'config.json' self.config_file = 'config.json'
self.index_file = 'fregments_index.json' self.index_file = 'fragments_index.json'
with open(self.index_file) as json_file: with open(self.index_file) as json_file:
self.json_data = json.load(json_file) self.json_data = json.load(json_file)
self.temp_data = {"fregments":[]} self.temp_data = {"fragments":[]}
self.count = len(self.json_data) self.count = len(self.json_data)
def creation_date(self, path_to_file): def creation_date(self, path_to_file):
@ -60,7 +60,7 @@ class Fregments:
artist = arr[1] artist = arr[1]
else: else:
artist = arr[2] artist = arr[2]
self.index[occupation] = Fregment(occupation, date, directory, artist, file) self.index[occupation] = Fragment(occupation, date, directory, artist, file)
def is_meta(self, file): def is_meta(self, file):
fa = file.split(".") fa = file.split(".")
@ -101,7 +101,7 @@ class Fregments:
self.add_timetable(root, d) self.add_timetable(root, d)
def postindex(self): def postindex(self):
self.timetable = sorted(self.timetable, key=lambda fregment: fregment.update) self.timetable = sorted(self.timetable, key=lambda fragment: fragment.update)
print("----------- INDEXING ------------") print("----------- INDEXING ------------")
# indexing # indexing
for f in self.timetable: for f in self.timetable:
@ -114,7 +114,7 @@ class Fregments:
self.indextable = [] self.indextable = []
for f in self.index: for f in self.index:
self.indextable.append(self.index[f]) self.indextable.append(self.index[f])
self.indextable = sorted(self.indextable, key=lambda fregment: fregment.index) self.indextable = sorted(self.indextable, key=lambda fragment: fragment.index)
def get_lastindex(self): def get_lastindex(self):
last = 0 last = 0
@ -130,34 +130,34 @@ class Fregments:
arr = directory.split("/") arr = directory.split("/")
if arr.__len__() > 2: if arr.__len__() > 2:
artist = arr[2] artist = arr[2]
self.timetable.append(Fregment(-1, date, directory, artist, file)) self.timetable.append(Fragment(-1, date, directory, artist, file))
''' '''
# [deprecated] preindex 하기 전 소소 # [deprecated] preindex 하기 전 소소
def add(self, artist, fregment): def add(self, artist, fragment):
temp = { temp = {
"index" : 0, "index" : 0,
"update" : 0, "update" : 0,
"file" : { "file" : {
"artist": artist, "artist": artist,
"fregment": fregment "fragment": fragment
} }
} }
added = False added = False
for f in self.json_data['fregments']: for f in self.json_data['fragments']:
# 기존 조각과 비교 # 기존 조각과 비교
if f['file'] == temp['file']: if f['file'] == temp['file']:
added = True added = True
if added: if added:
print("Already added - artist:", artist, ", fregment: ", fregment) print("Already added - artist:", artist, ", fragment: ", fragment)
else: else:
self.count = self.count + 1 self.count = self.count + 1
print("Add fregment - artist:", artist, ", fregment: ", fregment) print("Add fragment - artist:", artist, ", fragment: ", fragment)
temp["index"] = self.count temp["index"] = self.count
temp["update"] = int(time.time()) temp["update"] = int(time.time())
self.temp_data['fregments'].append(temp) self.temp_data['fragments'].append(temp)
''' '''
def save(self): def save(self):
@ -166,7 +166,7 @@ class Fregments:
json.dump(self.indextable, outfile, indent=4, cls=CustomEncoder) json.dump(self.indextable, outfile, indent=4, cls=CustomEncoder)
self.count = len(self.indextable) self.count = len(self.indextable)
def get_fregments(self): def get_fragments(self):
return self.indextable return self.indextable
def get_count(self): def get_count(self):
@ -184,4 +184,4 @@ class CustomEncoder(json.JSONEncoder):
return {'__{}__'.format(o.__class__.__name__): o.__dict__} return {'__{}__'.format(o.__class__.__name__): o.__dict__}
if __name__ == "__main__": if __name__ == "__main__":
freg = Fregments() freg = Fragments()

View file

@ -1,7 +1,7 @@
# Added by Hyunchul # Added by Hyunchul
# 2020. 10. 26 # 2020. 10. 26
from distribusi.cli import build_argparser, distribusify from distribusi.cli import build_argparser, distribusify
from distribusi import fregments from distribusi import fragments
from distribusi.distribusi import build_index from distribusi.distribusi import build_index
parser = build_argparser() parser = build_argparser()
@ -10,7 +10,7 @@ args = parser.parse_args()
event_path = './events' event_path = './events'
data_path = './test_data' data_path = './test_data'
freg = fregments.Fregments() freg = fragments.Fragments()
freg.preindex(event_path) freg.preindex(event_path)
freg.preindex(data_path) freg.preindex(data_path)
freg.postindex() freg.postindex()

View file

@ -1,6 +1,6 @@
[ [
{ {
"__Fregment__": { "__Fragment__": {
"index": 0, "index": 0,
"update": 1605171358.9636276, "update": 1605171358.9636276,
"directory": "./events", "directory": "./events",
@ -9,7 +9,7 @@
} }
}, },
{ {
"__Fregment__": { "__Fragment__": {
"index": 1, "index": 1,
"update": 1605171365.1618817, "update": 1605171365.1618817,
"directory": "./events", "directory": "./events",
@ -18,7 +18,7 @@
} }
}, },
{ {
"__Fregment__": { "__Fragment__": {
"index": 2, "index": 2,
"update": 1603870906.290785, "update": 1603870906.290785,
"directory": "./test_data/carrot", "directory": "./test_data/carrot",
@ -27,7 +27,7 @@
} }
}, },
{ {
"__Fregment__": { "__Fragment__": {
"index": 3, "index": 3,
"update": 1604043931.1111157, "update": 1604043931.1111157,
"directory": "./test_data/carrot", "directory": "./test_data/carrot",
@ -36,7 +36,7 @@
} }
}, },
{ {
"__Fregment__": { "__Fragment__": {
"index": 4, "index": 4,
"update": 1604043931.1281314, "update": 1604043931.1281314,
"directory": "./test_data/carrot", "directory": "./test_data/carrot",
@ -45,7 +45,7 @@
} }
}, },
{ {
"__Fregment__": { "__Fragment__": {
"index": 5, "index": 5,
"update": 1604043931.147918, "update": 1604043931.147918,
"directory": "./test_data/fig", "directory": "./test_data/fig",
@ -54,7 +54,7 @@
} }
}, },
{ {
"__Fregment__": { "__Fragment__": {
"index": 6, "index": 6,
"update": 1604043931.1488578, "update": 1604043931.1488578,
"directory": "./test_data/fig", "directory": "./test_data/fig",
@ -63,7 +63,7 @@
} }
}, },
{ {
"__Fregment__": { "__Fragment__": {
"index": 7, "index": 7,
"update": 1604043931.238141, "update": 1604043931.238141,
"directory": "./test_data/grape", "directory": "./test_data/grape",
@ -72,7 +72,7 @@
} }
}, },
{ {
"__Fregment__": { "__Fragment__": {
"index": 8, "index": 8,
"update": 1605171377.7292128, "update": 1605171377.7292128,
"directory": "./events", "directory": "./events",
@ -81,7 +81,7 @@
} }
}, },
{ {
"__Fregment__": { "__Fragment__": {
"index": 9, "index": 9,
"update": 1604043931.259867, "update": 1604043931.259867,
"directory": "./test_data/grape", "directory": "./test_data/grape",
@ -90,7 +90,7 @@
} }
}, },
{ {
"__Fregment__": { "__Fragment__": {
"index": 10, "index": 10,
"update": 1604043931.3548143, "update": 1604043931.3548143,
"directory": "./test_data/grape", "directory": "./test_data/grape",
@ -99,7 +99,7 @@
} }
}, },
{ {
"__Fregment__": { "__Fragment__": {
"index": 11, "index": 11,
"update": 1604043931.4324255, "update": 1604043931.4324255,
"directory": "./test_data/grape", "directory": "./test_data/grape",
@ -108,7 +108,7 @@
} }
}, },
{ {
"__Fregment__": { "__Fragment__": {
"index": 12, "index": 12,
"update": 1604043931.4409137, "update": 1604043931.4409137,
"directory": "./test_data/grape", "directory": "./test_data/grape",
@ -117,7 +117,7 @@
} }
}, },
{ {
"__Fregment__": { "__Fragment__": {
"index": 13, "index": 13,
"update": 1604050831.3844233, "update": 1604050831.3844233,
"directory": "./test_data/fig", "directory": "./test_data/fig",
@ -126,7 +126,7 @@
} }
}, },
{ {
"__Fregment__": { "__Fragment__": {
"index": 14, "index": 14,
"update": 1604053581.7941525, "update": 1604053581.7941525,
"directory": "./test_data/grape", "directory": "./test_data/grape",
@ -135,7 +135,7 @@
} }
}, },
{ {
"__Fregment__": { "__Fragment__": {
"index": 15, "index": 15,
"update": 1604054141.7061436, "update": 1604054141.7061436,
"directory": "./test_data/carrot", "directory": "./test_data/carrot",
@ -144,7 +144,7 @@
} }
}, },
{ {
"__Fregment__": { "__Fragment__": {
"index": 16, "index": 16,
"update": 1604911149.3638797, "update": 1604911149.3638797,
"directory": "./test_data/fig", "directory": "./test_data/fig",
@ -153,7 +153,7 @@
} }
}, },
{ {
"__Fregment__": { "__Fragment__": {
"index": 17, "index": 17,
"update": 1604912196.730964, "update": 1604912196.730964,
"directory": "./test_data/carrot", "directory": "./test_data/carrot",
@ -162,7 +162,7 @@
} }
}, },
{ {
"__Fregment__": { "__Fragment__": {
"index": 18, "index": 18,
"update": 1604912200.5855331, "update": 1604912200.5855331,
"directory": "./test_data/carrot", "directory": "./test_data/carrot",
@ -171,7 +171,7 @@
} }
}, },
{ {
"__Fregment__": { "__Fragment__": {
"index": 19, "index": 19,
"update": 1604915491.9132912, "update": 1604915491.9132912,
"directory": "./test_data/fig", "directory": "./test_data/fig",
@ -180,7 +180,7 @@
} }
}, },
{ {
"__Fregment__": { "__Fragment__": {
"index": 20, "index": 20,
"update": 1604915593.2194371, "update": 1604915593.2194371,
"directory": "./test_data/fig", "directory": "./test_data/fig",
@ -189,7 +189,7 @@
} }
}, },
{ {
"__Fregment__": { "__Fragment__": {
"index": 21, "index": 21,
"update": 1605170712.9904313, "update": 1605170712.9904313,
"directory": "./events/event_0000", "directory": "./events/event_0000",
@ -198,7 +198,7 @@
} }
}, },
{ {
"__Fregment__": { "__Fragment__": {
"index": 22, "index": 22,
"update": 1605170736.042438, "update": 1605170736.042438,
"directory": "./events/event_0000", "directory": "./events/event_0000",
@ -207,7 +207,7 @@
} }
}, },
{ {
"__Fregment__": { "__Fragment__": {
"index": 23, "index": 23,
"update": 1605170741.7326746, "update": 1605170741.7326746,
"directory": "./events/event_0000", "directory": "./events/event_0000",