Skip to content

Commit b665b33

Browse files
committed
Move reading of new resource files to reverence
1 parent 0c2e22f commit b665b33

File tree

6 files changed

+32
-29
lines changed

6 files changed

+32
-29
lines changed

miner/__init__.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,8 @@
2121
from .bulkdata import BulkdataMiner
2222
from .cached_calls import CachedCallsMiner
2323
from .metadata import MetadataMiner
24+
from .rescache import ResourcePickleMiner
2425
from .sqlite import SqliteMiner
25-
from .stuff import StuffedPickleMiner
2626
from .traits import TraitMiner
2727
from .abstract_miner import ContainerNameError
2828

@@ -31,7 +31,7 @@
3131
'BulkdataMiner',
3232
'CachedCallsMiner',
3333
'MetadataMiner',
34+
'ResourcePickleMiner',
3435
'SqliteMiner',
35-
'StuffedPickleMiner',
3636
'TraitMiner'
3737
)
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,4 +18,4 @@
1818
#===============================================================================
1919

2020

21-
from .stuffed_pickle import StuffedPickleMiner
21+
from .respickle import ResourcePickleMiner
Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -21,26 +21,27 @@
2121
from itertools import chain
2222

2323

24-
class Unstuffer(object):
24+
class ResourceBrowser(object):
2525
"""
26-
Class, responsible for browsing virtual filesystem of
27-
.stuff files and read data from there.
26+
Class, responsible for browsing/retrieval of resources.
2827
"""
2928

3029
def __init__(self, rvr):
31-
self._efs = rvr.rot.efs
30+
self._rvr = rvr
3231

3332
def get_filelist(self):
3433
"""
35-
Aggregate filepaths from all .stuff files and return
34+
Aggregate filepaths from all resource files and return
3635
them in the form of single list.
3736
"""
38-
resfilepaths = chain(*(stuff.files for stuff in self._efs.stuff))
37+
resfilepaths = chain(
38+
self._rvr.rot.res._nameMap.keys(),
39+
*(stuff.files for stuff in self._rvr.rot.efs.stuff)
40+
)
3941
return sorted(resfilepaths)
4042

4143
def get_file(self, resfilepath):
4244
"""
43-
Return file contents for requested resource located
44-
on .stuff filesystem.
45+
Return file contents for requested resource.
4546
"""
46-
return self._efs.open(resfilepath).read()
47+
return self._rvr.readstuff(resfilepath)
Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -22,17 +22,17 @@
2222

2323
from miner.abstract_miner import AbstractMiner
2424
from util import CachedProperty
25-
from .unstuff import Unstuffer
25+
from .resbrowser import ResourceBrowser
2626

2727

28-
class StuffedPickleMiner(AbstractMiner):
28+
class ResourcePickleMiner(AbstractMiner):
2929
"""
30-
Class, which attempts to get data from stuffed
30+
Class, which attempts to get data from resource
3131
pickles (this is not guaranteed to succeed).
3232
"""
3333

3434
def __init__(self, rvr):
35-
self._unstuffer = Unstuffer(rvr)
35+
self._resbrowser = ResourceBrowser(rvr)
3636

3737
def contname_iter(self):
3838
for resolved_name in sorted(self._resolved_source_map):
@@ -44,7 +44,7 @@ def get_data(self, resolved_name, **kwargs):
4444
except KeyError:
4545
self._container_not_found(resolved_name)
4646
else:
47-
resfiledata = self._unstuffer.get_file(resfilepath)
47+
resfiledata = self._resbrowser.get_file(resfilepath)
4848
data = pickle.loads(resfiledata)
4949
return data
5050

@@ -58,7 +58,7 @@ def _resolved_source_map(self):
5858
pickle_ext = '.pickle'
5959
# Format: {safe path: [source paths]}
6060
safe_source_map = {}
61-
for source_path in self._unstuffer.get_filelist():
61+
for source_path in self._resbrowser.get_filelist():
6262
# We also strip .pickle extension from names
6363
if not source_path.endswith(pickle_ext):
6464
continue

run.py

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,7 @@
4848

4949
parser = argparse.ArgumentParser(description='This script pulls data out of EVE client and writes it in JSON format')
5050
parser.add_argument('-e', '--eve', help='path to eve folder', required=True)
51+
parser.add_argument('-r', '--res', help='path to eve shared cache folder', required=True)
5152
parser.add_argument('-c', '--cache', help='path to eve cache folder', required=True)
5253
parser.add_argument('-s', '--server', default='tranquility', help='server which was specified in EVE shortcut, defaults to tranquility')
5354
languages = ('de', 'en-us', 'es', 'fr', 'it', 'ja', 'ru', 'zh', 'multi')
@@ -58,22 +59,23 @@
5859

5960
# Expand home directory
6061
path_eve = os.path.expanduser(args.eve)
62+
path_res = os.path.expanduser(args.res)
6163
path_cache = os.path.expanduser(args.cache)
6264
path_json = os.path.expanduser(args.json)
6365

6466
rvr_language = args.translate if args.translate != 'multi' else 'en-us'
65-
rvr = reverence.blue.EVE(path_eve, cachepath=path_cache, server=args.server, languageID=rvr_language)
67+
rvr = reverence.blue.EVE(path_eve, respath=path_res, cachepath=path_cache, server=args.server, languageID=rvr_language)
6668

67-
spickle_miner = StuffedPickleMiner(rvr)
68-
trans = Translator(spickle_miner)
69+
pickle_miner = ResourcePickleMiner(rvr)
70+
trans = Translator(pickle_miner)
6971
bulkdata_miner = BulkdataMiner(rvr, trans)
7072
miners = (
7173
MetadataMiner(path_eve),
7274
bulkdata_miner,
7375
TraitMiner(bulkdata_miner, trans),
7476
SqliteMiner(path_eve, trans),
7577
CachedCallsMiner(rvr, trans),
76-
spickle_miner
78+
pickle_miner
7779
)
7880

7981
writers = (

translator.py

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -29,8 +29,8 @@ class Translator(object):
2929
Class responsible for text localization.
3030
"""
3131

32-
def __init__(self, spickle_miner):
33-
self._spminer = spickle_miner
32+
def __init__(self, pickle_miner):
33+
self._pickle_miner = pickle_miner
3434
# Format: {language code: {message ID: message text}}
3535
self._loaded_langs = {}
3636
# Container for data we fetch from shared language data
@@ -237,7 +237,7 @@ def _print_current_stats(self, stats):
237237
# Related to loading language data
238238

239239
def _load_pickle(self, name):
240-
return self._spminer.get_data(name)
240+
return self._pickle_miner.get_data(name)
241241

242242
def _load_lang_data(self, language):
243243
"""
@@ -246,8 +246,8 @@ def _load_lang_data(self, language):
246246
"""
247247
msg_map_phb = {}
248248
try:
249-
lang_data_old = self._load_pickle('res/localization/localization_{}'.format(language))
250-
lang_data_fsd = self._load_pickle('res/localizationfsd/localization_fsd_{}'.format(language))
249+
lang_data_old = self._load_pickle('res:/localization/localization_{}'.format(language))
250+
lang_data_fsd = self._load_pickle('res:/localizationfsd/localization_fsd_{}'.format(language))
251251
except ContainerNameError:
252252
msg = u'data for language "{}" cannot be loaded'.format(language)
253253
raise LanguageNotAvailable(msg)
@@ -345,8 +345,8 @@ def _load_shared_data(self):
345345
"""
346346
languages = set()
347347
lbl_map_phb = {}
348-
main_old = self._load_pickle('res/localization/localization_main')
349-
main_fsd = self._load_pickle('res/localizationfsd/localization_fsd_main')
348+
main_old = self._load_pickle('res:/localization/localization_main')
349+
main_fsd = self._load_pickle('res:/localizationfsd/localization_fsd_main')
350350
# Load list of languages
351351
languages.update(main_old['languages'].keys())
352352
languages.update(main_fsd['languages'])

0 commit comments

Comments
 (0)