Skip to content

Commit 0c2e22f

Browse files
committed
Revert "Attempt #1 to adapt to new resource storage scheme"
This reverts commit 90c4d69.
1 parent 90c4d69 commit 0c2e22f

File tree

6 files changed

+33
-46
lines changed

6 files changed

+33
-46
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
2524
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',
3534
'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 .respickle import ResourcePickleMiner
21+
from .stuffed_pickle import StuffedPickleMiner
Lines changed: 7 additions & 7 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 .resbrowser import ResourceBrowser
25+
from .unstuff import Unstuffer
2626

2727

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

34-
def __init__(self, path_eve, path_resources):
35-
self._resbrowser = ResourceBrowser(path_eve, path_resources)
34+
def __init__(self, rvr):
35+
self._unstuffer = Unstuffer(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._resbrowser.get_file(resfilepath)
47+
resfiledata = self._unstuffer.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._resbrowser.get_filelist():
61+
for source_path in self._unstuffer.get_filelist():
6262
# We also strip .pickle extension from names
6363
if not source_path.endswith(pickle_ext):
6464
continue
Lines changed: 13 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -18,40 +18,29 @@
1818
#===============================================================================
1919

2020

21-
import csv
22-
import os.path
21+
from itertools import chain
2322

2423

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

30-
def __init__(self, path_eve, path_resources):
31-
# Get resource file list
32-
# Format:
33-
# {embedFS file name: full path to file}
34-
self._resfiles = {}
35-
path_index = os.path.join(path_eve, 'resfileindex.txt')
36-
with open(path_index) as csvfile:
37-
index_reader = csv.reader(csvfile)
38-
for row in index_reader:
39-
embedfs_path = row[0]
40-
resource_path = os.path.join(path_resources, 'ResFiles', row[1])
41-
self._resfiles[embedfs_path] = resource_path
30+
def __init__(self, rvr):
31+
self._efs = rvr.rot.efs
4232

4333
def get_filelist(self):
4434
"""
45-
Aggregate filepaths from all resource files and return
35+
Aggregate filepaths from all .stuff files and return
4636
them in the form of single list.
4737
"""
48-
return sorted(self._resfiles)
38+
resfilepaths = chain(*(stuff.files for stuff in self._efs.stuff))
39+
return sorted(resfilepaths)
4940

50-
def get_file(self, embedfs_path):
41+
def get_file(self, resfilepath):
5142
"""
52-
Return file contents for requested resource.
43+
Return file contents for requested resource located
44+
on .stuff filesystem.
5345
"""
54-
resource_path = self._resfiles[embedfs_path]
55-
with open(resource_path) as f:
56-
data = f.read()
57-
return data
46+
return self._efs.open(resfilepath).read()

run.py

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,6 @@
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)
5251
parser.add_argument('-c', '--cache', help='path to eve cache folder', required=True)
5352
parser.add_argument('-s', '--server', default='tranquility', help='server which was specified in EVE shortcut, defaults to tranquility')
5453
languages = ('de', 'en-us', 'es', 'fr', 'it', 'ja', 'ru', 'zh', 'multi')
@@ -59,23 +58,22 @@
5958

6059
# Expand home directory
6160
path_eve = os.path.expanduser(args.eve)
62-
path_res = os.path.expanduser(args.res)
6361
path_cache = os.path.expanduser(args.cache)
6462
path_json = os.path.expanduser(args.json)
6563

6664
rvr_language = args.translate if args.translate != 'multi' else 'en-us'
6765
rvr = reverence.blue.EVE(path_eve, cachepath=path_cache, server=args.server, languageID=rvr_language)
6866

69-
pickle_miner = ResourcePickleMiner(path_eve, path_res)
70-
trans = Translator(pickle_miner)
67+
spickle_miner = StuffedPickleMiner(rvr)
68+
trans = Translator(spickle_miner)
7169
bulkdata_miner = BulkdataMiner(rvr, trans)
7270
miners = (
7371
MetadataMiner(path_eve),
7472
bulkdata_miner,
7573
TraitMiner(bulkdata_miner, trans),
7674
SqliteMiner(path_eve, trans),
7775
CachedCallsMiner(rvr, trans),
78-
pickle_miner
76+
spickle_miner
7977
)
8078

8179
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, pickle_miner):
33-
self._pickle_miner = pickle_miner
32+
def __init__(self, spickle_miner):
33+
self._spminer = spickle_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._pickle_miner.get_data(name)
240+
return self._spminer.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)