epstein-files 1.0.14__py3-none-any.whl → 1.0.16__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- epstein_files/__init__.py +8 -8
- epstein_files/documents/document.py +7 -5
- epstein_files/documents/email.py +8 -3
- epstein_files/documents/imessage/text_message.py +1 -1
- epstein_files/documents/messenger_log.py +10 -11
- epstein_files/documents/other_file.py +33 -32
- epstein_files/epstein_files.py +2 -43
- epstein_files/util/constant/names.py +3 -0
- epstein_files/util/constant/strings.py +0 -2
- epstein_files/util/constant/urls.py +8 -5
- epstein_files/util/constants.py +82 -87
- epstein_files/util/doc_cfg.py +4 -3
- epstein_files/util/env.py +10 -8
- epstein_files/util/file_helper.py +8 -4
- epstein_files/util/highlighted_group.py +35 -31
- epstein_files/util/output.py +47 -14
- epstein_files/util/rich.py +17 -13
- epstein_files/util/word_count.py +6 -8
- {epstein_files-1.0.14.dist-info → epstein_files-1.0.16.dist-info}/METADATA +1 -1
- epstein_files-1.0.16.dist-info/RECORD +33 -0
- epstein_files-1.0.14.dist-info/RECORD +0 -33
- {epstein_files-1.0.14.dist-info → epstein_files-1.0.16.dist-info}/LICENSE +0 -0
- {epstein_files-1.0.14.dist-info → epstein_files-1.0.16.dist-info}/WHEEL +0 -0
- {epstein_files-1.0.14.dist-info → epstein_files-1.0.16.dist-info}/entry_points.txt +0 -0
|
@@ -15,7 +15,7 @@ from epstein_files.util.data import extract_last_name, listify, without_falsey
|
|
|
15
15
|
CIVIL_ATTORNEY = 'civil attorney'
|
|
16
16
|
CRIMINAL_DEFENSE_ATTORNEY = 'criminal defense attorney'
|
|
17
17
|
CRIMINAL_DEFENSE_2008 = f"{CRIMINAL_DEFENSE_ATTORNEY} on 2008 case"
|
|
18
|
-
EPSTEIN_LAWYER = '
|
|
18
|
+
EPSTEIN_LAWYER = 'Epstein lawyer'
|
|
19
19
|
EPSTEIN_V_ROTHSTEIN_EDWARDS_ATTORNEY = f"{CIVIL_ATTORNEY} working on {EPSTEIN_V_ROTHSTEIN_EDWARDS}"
|
|
20
20
|
ESTATE_EXECUTOR = 'estate executor'
|
|
21
21
|
EPSTEIN_ESTATE_EXECUTOR = f"Epstein {ESTATE_EXECUTOR}"
|
|
@@ -103,7 +103,7 @@ class HighlightedNames(HighlightedText):
|
|
|
103
103
|
def get_info(self, name: str) -> str | None:
|
|
104
104
|
"""Label and additional info for 'name' if 'name' is in self.emailers."""
|
|
105
105
|
info_pieces = [
|
|
106
|
-
None if len(self.emailers) == 1 else (self.category or self.label.
|
|
106
|
+
None if len(self.emailers) == 1 else (self.category or self.label.replace('_', ' ')),
|
|
107
107
|
self.emailers.get(name),
|
|
108
108
|
]
|
|
109
109
|
|
|
@@ -111,7 +111,7 @@ class HighlightedNames(HighlightedText):
|
|
|
111
111
|
return ', '.join(info_pieces) if info_pieces else None
|
|
112
112
|
|
|
113
113
|
def _emailer_pattern(self, name: str) -> str:
|
|
114
|
-
"""Pattern matching 'name'. Extends value in EMAILER_ID_REGEXES with last name if it exists."""
|
|
114
|
+
"""Pattern matching 'name'. Extends value in EMAILER_ID_REGEXES with first/last name if it exists."""
|
|
115
115
|
name = remove_question_marks(name)
|
|
116
116
|
last_name = extract_last_name(name)
|
|
117
117
|
first_name = name.removesuffix(f" {last_name}")
|
|
@@ -141,7 +141,7 @@ class HighlightedNames(HighlightedText):
|
|
|
141
141
|
|
|
142
142
|
HIGHLIGHTED_NAMES = [
|
|
143
143
|
HighlightedNames(
|
|
144
|
-
label='
|
|
144
|
+
label='Africa',
|
|
145
145
|
style='light_pink4',
|
|
146
146
|
pattern=r'Econet(\s*Wireless)|Ghana(ian)?|Johannesburg|Kenya|Nigerian?|Senegal(ese)?|Serengeti|(South\s*)?African?|(Strive\s*)?Masiyiwa|Tanzania|Ugandan?|Zimbabwe(an)?',
|
|
147
147
|
emailers={
|
|
@@ -183,12 +183,15 @@ HIGHLIGHTED_NAMES = [
|
|
|
183
183
|
pattern=r"CBD|cannabis|marijuana|THC|WEED(guide|maps)?[^s]?",
|
|
184
184
|
),
|
|
185
185
|
HighlightedNames(
|
|
186
|
-
label='
|
|
186
|
+
label='China',
|
|
187
187
|
style='bright_red',
|
|
188
|
-
pattern=r"Ali.?baba|Beijing|CCP|Chin(a|e?se)(?! Daily)|DPRK|
|
|
188
|
+
pattern=r"Ali.?baba|Beijing|CCP|Chin(a|e?se)(?! Daily)|DPRK|Global Times|Guo|Hong|Huaw[ae]i|Kim\s*Jong\s*Un|Kong|Jack\s+Ma|Kwok|Ministry\sof\sState\sSecurity|Mongolian?|MSS|North\s*Korea|Peking|PRC|SCMP|Tai(pei|wan)|Xi(aomi)?|Jinping",
|
|
189
|
+
emailers={
|
|
190
|
+
'Gino Yu': 'professor / game designer in Hong Kong',
|
|
191
|
+
}
|
|
189
192
|
),
|
|
190
193
|
HighlightedNames(
|
|
191
|
-
label='
|
|
194
|
+
label='Deepak Chopra',
|
|
192
195
|
style='dark_sea_green4',
|
|
193
196
|
emailers = {
|
|
194
197
|
'Carolyn Rangel': 'assistant',
|
|
@@ -196,7 +199,7 @@ HIGHLIGHTED_NAMES = [
|
|
|
196
199
|
}
|
|
197
200
|
),
|
|
198
201
|
HighlightedNames(
|
|
199
|
-
label='
|
|
202
|
+
label='Democrats',
|
|
200
203
|
style='sky_blue1',
|
|
201
204
|
pattern=r'(Al\s*)?Franken|((Bill|Hillart?y)\s*)?Clinton|((Chuck|Charles)\s*)?S(ch|hc)umer|(Diana\s*)?DeGette|DNC|Elena\s*Kagan|(Eliott?\s*)?Spitzer(, Eliot)?|George\s*Mitchell|(George\s*)?Soros|Hill?ary|Dem(ocrat(ic)?)?|(Jo(e|seph)\s*)?Biden|(John\s*)?Kerry|Lisa Monaco|(Matteo\s*)?Salvini|Maxine\s*Waters|(Barac?k )?Obama|(Nancy )?Pelosi|Ron\s*Dellums|Schumer|(Tim\s*)?Geithner|Vernon\s*Jordan',
|
|
202
205
|
),
|
|
@@ -271,7 +274,7 @@ HIGHLIGHTED_NAMES = [
|
|
|
271
274
|
HighlightedNames(
|
|
272
275
|
label=ESTATE_EXECUTOR,
|
|
273
276
|
style='purple3 bold',
|
|
274
|
-
category='
|
|
277
|
+
category='Epstein lawyer',
|
|
275
278
|
emailers = {
|
|
276
279
|
DARREN_INDYKE: EPSTEIN_ESTATE_EXECUTOR,
|
|
277
280
|
RICHARD_KAHN: EPSTEIN_ESTATE_EXECUTOR,
|
|
@@ -280,7 +283,7 @@ HIGHLIGHTED_NAMES = [
|
|
|
280
283
|
HighlightedNames(
|
|
281
284
|
label='europe',
|
|
282
285
|
style='light_sky_blue3',
|
|
283
|
-
pattern=r'(Angela )?Merk(el|le)|Austria|(Benjamin\s*)?Harnwell|Berlin|Borge|Boris\s*Johnson|Brexit(eers?)?|Brit(ain|ish)|Brussels|Cannes|(Caroline|Jack)?\s*Lang(, Caroline)?|Cypr(iot|us)|Davos|ECB|England|EU|Europe(an)?(\s*Union)?|Fr(ance|ench)|Geneva|Germany?|Gillard|Gree(ce|k)|Ital(ian|y)|Jacques|(Kevin\s*)?Rudd|Le\s*Pen|London|Macron|Melusine|Munich|(Natalia\s*)?Veselnitskaya|(Nicholas\s*)?Sarkozy|Nigel(\s*Farage)?|Norw(ay|egian)|Oslo|Paris|Polish|(Sebastian )?Kurz|(Vi(c|k)tor\s+)?Orbah?n|Edward Rod Larsen|Strasbourg|Strauss[- ]?Kahn|Swed(en|ish)(?![-\s]+America)|Switzerland|(Tony\s)?Blair|U\.?K\.?|Ukrain(e|ian)|Vienna|(Vitaly\s*)?Churkin|Zug',
|
|
286
|
+
pattern=r'(Angela )?Merk(el|le)|Austria|(Benjamin\s*)?Harnwell|Berlin|Borge|Boris\s*Johnson|Brexit(eers?)?|Brit(ain|ish)|Brussels|Cannes|(Caroline|Jack)?\s*Lang(, Caroline)?|Cypr(iot|us)|Davos|ECB|England|EU|Europe(an)?(\s*Union)?|Fr(ance|ench)|Geneva|Germany?|Gillard|Gree(ce|k)|Ital(ian|y)|Jacques|(Kevin\s*)?Rudd|Le\s*Pen|London|Macron|Melusine|Munich|(Natalia\s*)?Veselnitskaya|(Nicholas\s*)?Sarkozy|Nigel(\s*Farage)?|Norw(ay|egian)|Oslo|Paris|Polish|pope|(Sebastian )?Kurz|(Vi(c|k)tor\s+)?Orbah?n|Edward Rod Larsen|Strasbourg|Strauss[- ]?Kahn|Swed(en|ish)(?![-\s]+America)|Switzerland|(Tony\s)?Blair|U\.?K\.?|Ukrain(e|ian)|Vienna|(Vitaly\s*)?Churkin|Zug',
|
|
284
287
|
emailers = {
|
|
285
288
|
ANDRZEJ_DUDA: 'former president of Poland',
|
|
286
289
|
MIROSLAV_LAJCAK: 'Russia-friendly Slovakian politician, friend of Steve Bannon',
|
|
@@ -290,9 +293,8 @@ HIGHLIGHTED_NAMES = [
|
|
|
290
293
|
}
|
|
291
294
|
),
|
|
292
295
|
HighlightedNames(
|
|
293
|
-
label='
|
|
296
|
+
label='famous lawyer',
|
|
294
297
|
style='medium_purple3',
|
|
295
|
-
category='famous_lawyer',
|
|
296
298
|
pattern=r'(David\s*)?Bo[il]es|dersh|(Gloria\s*)?Allred|(Mi(chael|ke)\s*)?Avenatti',
|
|
297
299
|
emailers = {
|
|
298
300
|
ALAN_DERSHOWITZ: 'Harvard Law School professor and all around (in)famous American lawyer',
|
|
@@ -302,7 +304,7 @@ HIGHLIGHTED_NAMES = [
|
|
|
302
304
|
HighlightedNames(
|
|
303
305
|
label=FINANCE,
|
|
304
306
|
style='green',
|
|
305
|
-
pattern=r'Apollo|Ari\s*Glass|Bank|(Bernie\s*)?Madoff|Black(rock|stone)|B\s*of\s*A|Boothbay(\sFund\sManagement)?|Chase\s*Bank|Credit\s*Suisse|DB|Deutsche
|
|
307
|
+
pattern=r'Apollo|Ari\s*Glass|Bank|(Bernie\s*)?Madoff|Black(rock|stone)|B\s*of\s*A|Boothbay(\sFund\sManagement)?|Chase\s*Bank|Credit\s*Suisse|DB|Deutsche?\s*(Asset|Bank)|Electron\s*Capital\s*(Partners)?|Fenner|FRBNY|Goldman(\s*Sachs)|HSBC|Invesco|(Janet\s*)?Yellen|(Jerome\s*)?Powell(?!M\. Cabot)|(Jimmy\s*)?Cayne|JPMC?|j\.?p\.?\s*morgan(\.?com|\s*Chase)?|Madoff|Merrill(\s*Lynch)?|(Michael\s*)?(Cembalest|Milken)|Mizrahi\s*Bank|MLPF&S|((anti.?)?money\s+)?launder(s?|ers?|ing)?(\s+money)?|Morgan Stanley|(Peter L. )?Scher|(Ray\s*)?Dalio|(Richard\s*)?LeFrak|Schwartz?man|Serageldin|UBS|us.gio@jpmorgan.com',
|
|
306
308
|
emailers={
|
|
307
309
|
AMANDA_ENS: 'Citigroup',
|
|
308
310
|
BRAD_WECHSLER: f"head of {LEON_BLACK}'s personal investment vehicle according to FT",
|
|
@@ -316,7 +318,8 @@ HIGHLIGHTED_NAMES = [
|
|
|
316
318
|
MELANIE_SPINELLA: f'representative of {LEON_BLACK}',
|
|
317
319
|
MORTIMER_ZUCKERMAN: 'business partner of Epstein',
|
|
318
320
|
PAUL_BARRETT: None,
|
|
319
|
-
PAUL_MORRIS:
|
|
321
|
+
PAUL_MORRIS: DEUTSCHE_BANK,
|
|
322
|
+
'Steven Elkman': DEUTSCHE_BANK,
|
|
320
323
|
}
|
|
321
324
|
),
|
|
322
325
|
HighlightedNames(
|
|
@@ -334,7 +337,7 @@ HIGHLIGHTED_NAMES = [
|
|
|
334
337
|
},
|
|
335
338
|
),
|
|
336
339
|
HighlightedNames(
|
|
337
|
-
label=HARVARD
|
|
340
|
+
label=HARVARD,
|
|
338
341
|
style='light_goldenrod3',
|
|
339
342
|
pattern=r'Cambridge|(Derek\s*)?Bok|Elisa(\s*New)?|Harvard(\s*(Business|Law|University)(\s*School)?)?|(Jonathan\s*)?Zittrain|(Stephen\s*)?Kosslyn',
|
|
340
343
|
emailers = {
|
|
@@ -349,7 +352,7 @@ HIGHLIGHTED_NAMES = [
|
|
|
349
352
|
}
|
|
350
353
|
),
|
|
351
354
|
HighlightedNames(
|
|
352
|
-
label='
|
|
355
|
+
label='India',
|
|
353
356
|
style='bright_green',
|
|
354
357
|
pattern=r'Abraaj|Anna\s*Hazare|(Arif\s*)?Naqvi|(Arvind\s*)?Kejriwal|Hardeep( Pur[ei]e)?|Indian?|InsightsPod|Modi|Mumbai|Tranchulas',
|
|
355
358
|
emailers = {
|
|
@@ -359,7 +362,7 @@ HIGHLIGHTED_NAMES = [
|
|
|
359
362
|
}
|
|
360
363
|
),
|
|
361
364
|
HighlightedNames(
|
|
362
|
-
label='
|
|
365
|
+
label='Israel',
|
|
363
366
|
style='dodger_blue2',
|
|
364
367
|
pattern=r"AIPAC|Bibi|(eh|(Ehud|Nili Priell) )?barak|Ehud\s*Barack|Israeli?|Jerusalem|J\s*Street|Mossad|Netanyahu|(Sheldon\s*)?Adelson|Tel\s*Aviv|(The\s*)?Shimon\s*Post|Yitzhak|Rabin|YIVO|zionist",
|
|
365
368
|
emailers={
|
|
@@ -369,7 +372,7 @@ HIGHLIGHTED_NAMES = [
|
|
|
369
372
|
}
|
|
370
373
|
),
|
|
371
374
|
HighlightedNames(
|
|
372
|
-
label='
|
|
375
|
+
label='Japan',
|
|
373
376
|
style='color(168)',
|
|
374
377
|
pattern=r'BOJ|(Bank\s+of\s+)?Japan(ese)?|jpy?(?! Morgan)|SG|Singapore|Toky[op]',
|
|
375
378
|
),
|
|
@@ -389,14 +392,14 @@ HIGHLIGHTED_NAMES = [
|
|
|
389
392
|
}
|
|
390
393
|
),
|
|
391
394
|
HighlightedNames(
|
|
392
|
-
label='
|
|
395
|
+
label='Latin America',
|
|
393
396
|
style='yellow',
|
|
394
397
|
pattern=r'Argentin(a|ian)|Bolsonar[aio]|Bra[sz]il(ian)?|Bukele|Caracas|Castro|Colombian?|Cuban?|El\s*Salvador|((Enrique )?Pena )?Nieto|LatAm|Lula|Mexic(an|o)|(Nicolas\s+)?Maduro|Panama( Papers)?|Peru|Venezuelan?|Zambrano',
|
|
395
398
|
),
|
|
396
399
|
HighlightedNames(
|
|
397
400
|
label='law enforcement',
|
|
398
401
|
style='color(24) bold',
|
|
399
|
-
pattern=r'ag|(Alicia\s*)?Valle|AML|(Andrew\s*)?McCabe|
|
|
402
|
+
pattern=r'ag|(Alicia\s*)?Valle|AML|(Andrew\s*)?McCabe|((Bob|Robert)\s*)?Mueller|(Byung\s)?Pak|CFTC?|CIA|CIS|CVRA|Dep(artmen)?t\.?\s*of\s*(the\s*)?(Justice|Treasury)|DHS|DOJ|FBI|FCPA|FDIC|Federal\s*Bureau\s*of\s*Investigation|FinCEN|FINRA|FOIA|FTC|IRS|(James\s*)?Comey|(Jennifer\s*Shasky\s*)?Calvery|((Judge|Mark)\s*)?(Carney|Filip)|(Kirk )?Blouin|KYC|NIH|NS(A|C)|OCC|OFAC|(Lann?a\s*)?Belohlavek|(Michael\s*)?Reiter|OGE|Office\s*of\s*Government\s*Ethics|Police Code Enforcement|(Preet\s*)?Bharara|SCOTUS|SD(FL|NY)|SEC|Secret\s*Service|Securities\s*and\s*Exchange\s*Commission|Southern\s*District\s*of\s*(Florida|New\s*York)|State\s*Dep(artmen)?t|Strzok|Supreme\s*Court|Treasury\s*(Dep(artmen)?t|Secretary)|TSA|USAID|(William\s*J\.?\s*)?Zloch',
|
|
400
403
|
emailers = {
|
|
401
404
|
ANN_MARIE_VILLAFANA: 'southern district of Florida U.S. Attorney',
|
|
402
405
|
DANNY_FROST: 'Director of Communications at Manhattan DA',
|
|
@@ -419,8 +422,8 @@ HIGHLIGHTED_NAMES = [
|
|
|
419
422
|
HighlightedNames(
|
|
420
423
|
label='mideast',
|
|
421
424
|
style='dark_sea_green4',
|
|
422
|
-
# this won't match ever because of word boundary: [-\s]9/11[\s.]
|
|
423
|
-
pattern=r"Abdulmalik Al-Makhlafi|Abdullah|Abu\s+Dhabi|Afghanistan|Al[-\s]?Qa[ei]da|Ahmadinejad|Arab|Aramco|Assad|Bahrain|Basiji?|Benghazi|Cairo|Chagoury|Dj[iu]bo?uti|Doha|Dubai|Egypt(ian)?|Emir(at(es?|i))?|Erdogan|Fashi|Gaddafi|(Hamid\s*)?Karzai|Hamad\s*bin\s*Jassim|HBJ|Houthi|Imran\s+Khan|Iran(ian)?|Isi[ls]|Islam(abad|ic|ist)?|Istanbul|Kh?ashoggi|(Kairat\s*)?Kelimbetov|kasshohgi|Kaz(akh|ich)stan|Kazakh?|Kh[ao]menei|Khalid\s*Sheikh\s*Mohammed|KSA|Leban(ese|on)|Libyan?|Mahmoud|Marra[hk]e[cs]h|MB(N|S|Z)|Mohammed\s+bin\s+Salman|Morocco|Mubarak|Muslim|Nayaf|Pakistani?|Omar|(Osama\s*)?Bin\s*Laden|Osama(?! al)|Palestin(e|ian)|Persian?|Riya(dh|nd)|Saddam|Salman|Saudi(\s+Arabian?)?|Shariah?|SHC|sheikh|shia|(Sultan\s*)?Yacoub|Syrian?|(Tarek\s*)?El\s*Sayed|Tehran|Tunisian?|Turk(ey|ish)|UAE|((Iraq|Iran|Kuwait|Qatar|Yemen)i?)",
|
|
425
|
+
# something like this won't match ever because of word boundary: [-\s]9/11[\s.]
|
|
426
|
+
pattern=r"Abdulmalik Al-Makhlafi|Abdullah|Abu\s+Dhabi|Afghanistan|Al[-\s]?Qa[ei]da|Ahmadinejad|Arab|Aramco|Assad|Bahrain|Basiji?|Benghazi|Cairo|Chagoury|Dj[iu]bo?uti|Doha|Dubai|Egypt(ian)?|Emir(at(es?|i))?|Erdogan|Fashi|Gaddafi|(Hamid\s*)?Karzai|Hamad\s*bin\s*Jassim|HBJ|Houthi|Imran\s+Khan|Iran(ian)?|Isi[ls]|Islam(abad|ic|ist)?|Istanbul|Kh?ashoggi|(Kairat\s*)?Kelimbetov|kasshohgi|Kaz(akh|ich)stan|Kazakh?|Kh[ao]menei|Khalid\s*Sheikh\s*Mohammed|KSA|Leban(ese|on)|Libyan?|Mahmoud|Marra[hk]e[cs]h|MB(N|S|Z)|Mid(dle)?\s*East|Mohammed\s+bin\s+Salman|Morocco|Mubarak|Muslim|Nayaf|Pakistani?|Omar|(Osama\s*)?Bin\s*Laden|Osama(?! al)|Palestin(e|ian)|Persian?|Riya(dh|nd)|Saddam|Salman|Saudi(\s+Arabian?)?|Shariah?|SHC|sheikh|shia|(Sultan\s*)?Yacoub|Syrian?|(Tarek\s*)?El\s*Sayed|Tehran|Tunisian?|Turk(ey|ish)|UAE|((Iraq|Iran|Kuwait|Qatar|Yemen)i?)",
|
|
424
427
|
emailers = {
|
|
425
428
|
ANAS_ALRASHEED: f'former information minister of Kuwait {QUESTION_MARKS}',
|
|
426
429
|
AZIZA_ALAHMADI: 'Abu Dhabi Department of Culture & Tourism',
|
|
@@ -463,7 +466,7 @@ HIGHLIGHTED_NAMES = [
|
|
|
463
466
|
}
|
|
464
467
|
),
|
|
465
468
|
HighlightedNames(
|
|
466
|
-
label='
|
|
469
|
+
label='Republicans',
|
|
467
470
|
style='bold dark_red',
|
|
468
471
|
pattern=r'Alberto\sGonzale[sz]|(Alex\s*)?Acosta|(Bill\s*)?Barr|Bill\s*Shine|(Bob\s*)?Corker|(John\s*(R.?\s*)?)Bolton|Broidy|(Chris\s)?Christie|Devin\s*Nunes|(Don\s*)?McGa[hn]n|McMaster|(George\s*)?Nader|GOP|(Brett\s*)?Kavanaugh|Kissinger|Kobach|Koch\s*Brothers|Kolfage|Kudlow|Lewandowski|(Marco\s)?Rubio|(Mark\s*)Meadows|Mattis|McCain|(?<!Merwin Dela )Cruz|(Michael\s)?Hayden|((General|Mike)\s*)?(Flynn|Pence)|(Mitt\s*)?Romney|Mnuchin|Nikki|Haley|(Paul\s+)?(Manafort|Volcker)|(Peter\s)?Navarro|Pompeo|Reagan|Reince|Priebus|Republican|(Rex\s*)?Tillerson|(?<!Cynthia )(Richard\s*)?Nixon|Sasse|Tea\s*Party',
|
|
469
472
|
# There's no emails from these people, they're just here to automate the regex creation for both first + last names
|
|
@@ -481,7 +484,7 @@ HIGHLIGHTED_NAMES = [
|
|
|
481
484
|
},
|
|
482
485
|
),
|
|
483
486
|
HighlightedNames(
|
|
484
|
-
label='
|
|
487
|
+
label='Russia',
|
|
485
488
|
style='red bold',
|
|
486
489
|
pattern=r'Alfa\s*Bank|Anya\s*Rasulova|Chernobyl|Day\s+One\s+Ventures|(Dmitry\s)?(Kiselyov|(Lana\s*)?Pozhidaeva|Medvedev|Rybolo(o?l?ev|vlev))|Dmitry|FSB|GRU|KGB|Kislyak|Kremlin|Kuznetsova|Lavrov|Lukoil|Moscow|(Oleg\s*)?Deripaska|Oleksandr Vilkul|Rosneft|RT|St.?\s*?Petersburg|Russian?|Sberbank|Soviet(\s*Union)?|USSR|Vladimir|(Vladimir\s*)?(Putin|Yudashkin)|Women\s*Empowerment|Xitrans',
|
|
487
490
|
emailers = {
|
|
@@ -511,7 +514,7 @@ HIGHLIGHTED_NAMES = [
|
|
|
511
514
|
},
|
|
512
515
|
),
|
|
513
516
|
HighlightedNames(
|
|
514
|
-
label='
|
|
517
|
+
label='southeast Asia',
|
|
515
518
|
style='light_salmon3 bold',
|
|
516
519
|
pattern=r'Bangkok|Burm(a|ese)|Cambodian?|Laos|Malaysian?|Myan?mar|Thai(land)?|Vietnam(ese)?',
|
|
517
520
|
),
|
|
@@ -541,7 +544,7 @@ HIGHLIGHTED_NAMES = [
|
|
|
541
544
|
pattern=r'BVI|(Jane|Tiffany)\s*Doe|Katie\s*Johnson|(Virginia\s+((L\.?|Roberts)\s+)?)?Giuffre|Virginia\s+Roberts',
|
|
542
545
|
),
|
|
543
546
|
HighlightedNames(
|
|
544
|
-
label='
|
|
547
|
+
label='victim lawyer',
|
|
545
548
|
style='dark_magenta bold',
|
|
546
549
|
pattern=r'(Alan(\s*P.)?|MINTZ)\s*FRAADE|Paul\s*(G.\s*)?Cassell|Rothstein\s*Rosenfeldt\s*Adler|(Scott\s*)?Rothstein|(J\.?\s*)?(Stan(ley)?\s*)?Pottinger',
|
|
547
550
|
emailers = {
|
|
@@ -554,7 +557,7 @@ HIGHLIGHTED_NAMES = [
|
|
|
554
557
|
style='sea_green1',
|
|
555
558
|
pattern=r'Antigua|Bahamas|Caribb?ean|Dominican\s*Republic|(Great|Little)\s*St.?\s*James|Haiti(an)?|(John\s*)deJongh(\s*Jr\.?)|(Kenneth E\. )?Mapp|Palm\s*Beach(?!\s*Post)|PBI|S(ain)?t.?\s*Thomas|USVI|(?<!Epstein )VI|(The\s*)?Virgin\s*Islands(\s*Daily\s*News)?', # TODO: VI Daily News should be yellow but it's hard bc Daily News xists
|
|
556
559
|
emailers = {
|
|
557
|
-
CECILE_DE_JONGH: f'
|
|
560
|
+
CECILE_DE_JONGH: f'first lady 2007-2015',
|
|
558
561
|
STACEY_PLASKETT: 'non-voting member of Congress',
|
|
559
562
|
KENNETH_E_MAPP: 'Governor',
|
|
560
563
|
},
|
|
@@ -573,6 +576,9 @@ HIGHLIGHTED_NAMES = [
|
|
|
573
576
|
label=STEVE_BANNON,
|
|
574
577
|
style='color(58)',
|
|
575
578
|
pattern=r'((Steve|Sean)\s*)?Bannon?|(American\s*)?Dharma',
|
|
579
|
+
emailers = {
|
|
580
|
+
STEVE_BANNON: 'Trump campaign manager, memecoin grifter, convicted criminal',
|
|
581
|
+
}
|
|
576
582
|
),
|
|
577
583
|
HighlightedNames(
|
|
578
584
|
emailers={STEVEN_HOFFENBERG: HEADER_ABBREVIATIONS['Hoffenberg']},
|
|
@@ -646,7 +652,7 @@ ALL_HIGHLIGHTS = HIGHLIGHTED_NAMES + HIGHLIGHTED_TEXTS
|
|
|
646
652
|
|
|
647
653
|
|
|
648
654
|
class EpsteinHighlighter(RegexHighlighter):
|
|
649
|
-
"""
|
|
655
|
+
"""Finds and colors interesting keywords based on the above config."""
|
|
650
656
|
base_style = f"{REGEX_STYLE_PREFIX}."
|
|
651
657
|
highlights = [highlight_group.regex for highlight_group in ALL_HIGHLIGHTS]
|
|
652
658
|
|
|
@@ -666,10 +672,8 @@ def get_style_for_category(category: str) -> str | None:
|
|
|
666
672
|
elif category == SOCIAL:
|
|
667
673
|
return get_style_for_category(PUBLICIST)
|
|
668
674
|
|
|
669
|
-
category = CATEGORY_STYLE_MAPPING.get(category, category)
|
|
670
|
-
|
|
671
675
|
for highlight_group in HIGHLIGHTED_NAMES:
|
|
672
|
-
if highlight_group.label == category:
|
|
676
|
+
if highlight_group.label == CATEGORY_STYLE_MAPPING.get(category, category):
|
|
673
677
|
return highlight_group.style
|
|
674
678
|
|
|
675
679
|
|
epstein_files/util/output.py
CHANGED
|
@@ -4,13 +4,14 @@ from rich.padding import Padding
|
|
|
4
4
|
|
|
5
5
|
from epstein_files.documents.email import Email
|
|
6
6
|
from epstein_files.documents.messenger_log import MessengerLog
|
|
7
|
+
from epstein_files.documents.other_file import FIRST_FEW_LINES, OtherFile
|
|
7
8
|
from epstein_files.epstein_files import EpsteinFiles, count_by_month
|
|
8
9
|
from epstein_files.util.constant import output_files
|
|
9
10
|
from epstein_files.util.constant.html import *
|
|
10
11
|
from epstein_files.util.constant.names import *
|
|
11
12
|
from epstein_files.util.constant.output_files import JSON_FILES_JSON_PATH, JSON_METADATA_PATH
|
|
12
13
|
from epstein_files.util.data import dict_sets_to_lists
|
|
13
|
-
from epstein_files.util.env import args
|
|
14
|
+
from epstein_files.util.env import args
|
|
14
15
|
from epstein_files.util.file_helper import log_file_write
|
|
15
16
|
from epstein_files.util.logging import logger
|
|
16
17
|
from epstein_files.util.rich import *
|
|
@@ -20,34 +21,33 @@ PRINT_COLOR_KEY_EVERY_N_EMAILS = 150
|
|
|
20
21
|
# Order matters. Default names to print emails for.
|
|
21
22
|
DEFAULT_EMAILERS = [
|
|
22
23
|
JEREMY_RUBIN,
|
|
23
|
-
AL_SECKEL,
|
|
24
24
|
JOI_ITO,
|
|
25
25
|
JABOR_Y,
|
|
26
26
|
STEVEN_SINOFSKY,
|
|
27
|
+
AL_SECKEL,
|
|
27
28
|
DANIEL_SIAD,
|
|
28
29
|
JEAN_LUC_BRUNEL,
|
|
29
30
|
STEVEN_HOFFENBERG,
|
|
31
|
+
RENATA_BOLOTOVA,
|
|
32
|
+
MASHA_DROKOVA,
|
|
30
33
|
EHUD_BARAK,
|
|
31
34
|
MARTIN_NOWAK,
|
|
32
|
-
MASHA_DROKOVA,
|
|
33
|
-
RENATA_BOLOTOVA,
|
|
34
35
|
STEVE_BANNON,
|
|
35
|
-
PRINCE_ANDREW,
|
|
36
36
|
JIDE_ZEITLIN,
|
|
37
37
|
DAVID_STERN,
|
|
38
38
|
MOHAMED_WAHEED_HASSAN,
|
|
39
39
|
JENNIFER_JACQUET,
|
|
40
40
|
TYLER_SHEARS,
|
|
41
41
|
CHRISTINA_GALBRAITH,
|
|
42
|
+
ZUBAIR_KHAN,
|
|
42
43
|
None,
|
|
43
44
|
]
|
|
44
45
|
|
|
45
46
|
# Order matters. Default names to print tables w/email subject, timestamp, etc for. # TODO: get rid of this ?
|
|
46
47
|
DEFAULT_EMAILER_TABLES: list[str | None] = [
|
|
47
48
|
GHISLAINE_MAXWELL,
|
|
48
|
-
|
|
49
|
+
PRINCE_ANDREW,
|
|
49
50
|
SULTAN_BIN_SULAYEM,
|
|
50
|
-
DEEPAK_CHOPRA,
|
|
51
51
|
ARIANE_DE_ROTHSCHILD,
|
|
52
52
|
]
|
|
53
53
|
|
|
@@ -55,17 +55,17 @@ if len(set(DEFAULT_EMAILERS).intersection(set(DEFAULT_EMAILER_TABLES))) > 0:
|
|
|
55
55
|
raise RuntimeError(f"Some names appear in both DEFAULT_EMAILERS and DEFAULT_EMAILER_TABLES")
|
|
56
56
|
|
|
57
57
|
|
|
58
|
-
def
|
|
59
|
-
"""Returns
|
|
58
|
+
def print_emails_section(epstein_files: EpsteinFiles) -> list[Email]:
|
|
59
|
+
"""Returns emails that were printed (may contain dupes if printed for both author and recipient)."""
|
|
60
60
|
print_section_header(('Selections from ' if not args.all_emails else '') + 'His Emails')
|
|
61
|
-
|
|
61
|
+
print_other_page_link(epstein_files)
|
|
62
62
|
emailers_to_print: list[str | None]
|
|
63
63
|
emailer_tables: list[str | None] = []
|
|
64
64
|
already_printed_emails: list[Email] = []
|
|
65
65
|
num_emails_printed_since_last_color_key = 0
|
|
66
66
|
|
|
67
|
-
if
|
|
68
|
-
emailers_to_print =
|
|
67
|
+
if args.names:
|
|
68
|
+
emailers_to_print = args.names
|
|
69
69
|
else:
|
|
70
70
|
print_centered(Padding(epstein_files.table_of_emailers(), (2, 0)))
|
|
71
71
|
|
|
@@ -97,7 +97,7 @@ def print_emails(epstein_files: EpsteinFiles) -> int:
|
|
|
97
97
|
for name in DEFAULT_EMAILER_TABLES:
|
|
98
98
|
epstein_files.print_emails_table_for(name)
|
|
99
99
|
|
|
100
|
-
if not
|
|
100
|
+
if not args.names:
|
|
101
101
|
epstein_files.print_email_device_info()
|
|
102
102
|
|
|
103
103
|
if args.all_emails:
|
|
@@ -106,7 +106,7 @@ def print_emails(epstein_files: EpsteinFiles) -> int:
|
|
|
106
106
|
fwded_articles = [e for e in already_printed_emails if e.config and e.is_fwded_article()]
|
|
107
107
|
log_msg = f"Rewrote {len(Email.rewritten_header_ids)} of {len(already_printed_emails)} email headers"
|
|
108
108
|
logger.warning(f"{log_msg}, {len(fwded_articles)} of the emails were forwarded articles.")
|
|
109
|
-
return
|
|
109
|
+
return already_printed_emails
|
|
110
110
|
|
|
111
111
|
|
|
112
112
|
def print_json_files(epstein_files: EpsteinFiles):
|
|
@@ -136,6 +136,39 @@ def print_json_stats(epstein_files: EpsteinFiles) -> None:
|
|
|
136
136
|
print_json("count_by_month", count_by_month(epstein_files.all_documents()))
|
|
137
137
|
|
|
138
138
|
|
|
139
|
+
def print_other_files_section(files: list[OtherFile], epstein_files: EpsteinFiles) -> None:
|
|
140
|
+
"""Returns the OtherFile objects that were interesting enough to print."""
|
|
141
|
+
category_table = OtherFile.count_by_category_table(files)
|
|
142
|
+
other_files_preview_table = OtherFile.files_preview_table(files)
|
|
143
|
+
header_pfx = '' if args.all_other_files else 'Selected '
|
|
144
|
+
print_section_header(f"{FIRST_FEW_LINES} of {len(files)} {header_pfx}Files That Are Neither Emails Nor Text Messages")
|
|
145
|
+
|
|
146
|
+
if args.all_other_files:
|
|
147
|
+
console.line(1)
|
|
148
|
+
else:
|
|
149
|
+
print_other_page_link(epstein_files)
|
|
150
|
+
console.line(2)
|
|
151
|
+
|
|
152
|
+
for table in [category_table, other_files_preview_table]:
|
|
153
|
+
table.title = f"{header_pfx}{table.title}"
|
|
154
|
+
|
|
155
|
+
print_centered(category_table)
|
|
156
|
+
console.line(2)
|
|
157
|
+
console.print(other_files_preview_table)
|
|
158
|
+
|
|
159
|
+
|
|
160
|
+
def print_text_messages_section(epstein_files: EpsteinFiles) -> None:
|
|
161
|
+
"""Print summary table and stats for text messages."""
|
|
162
|
+
print_section_header('All of His Text Messages')
|
|
163
|
+
print_centered("(conversations are sorted chronologically based on timestamp of first message)\n", style='gray30')
|
|
164
|
+
|
|
165
|
+
for log_file in epstein_files.imessage_logs:
|
|
166
|
+
console.print(Padding(log_file))
|
|
167
|
+
console.line(2)
|
|
168
|
+
|
|
169
|
+
print_centered(MessengerLog.summary_table(epstein_files.imessage_logs))
|
|
170
|
+
|
|
171
|
+
|
|
139
172
|
def write_json_metadata(epstein_files: EpsteinFiles) -> None:
|
|
140
173
|
json_str = epstein_files.json_metadata()
|
|
141
174
|
|
epstein_files/util/rich.py
CHANGED
|
@@ -143,13 +143,6 @@ def parenthesize(msg: str | Text, style: str = '') -> Text:
|
|
|
143
143
|
return Text('(', style=style).append(txt).append(')')
|
|
144
144
|
|
|
145
145
|
|
|
146
|
-
def print_all_files_page_link(epstein_files: 'EpsteinFiles') -> None:
|
|
147
|
-
markup_msg = link_markup(SITE_URLS[EMAIL], 'the other page', style='light_slate_grey bold')
|
|
148
|
-
txt = Text.from_markup(markup_msg).append(f' is uncurated and has all {len(epstein_files.other_files)}')
|
|
149
|
-
txt.append(f" unclassifiable files and {len(epstein_files.emails):,} emails")
|
|
150
|
-
print_centered(parenthesize(txt), style='dim')
|
|
151
|
-
|
|
152
|
-
|
|
153
146
|
def print_author_header(msg: str, color: str | None, footer: str | None = None) -> None:
|
|
154
147
|
txt = Text(msg, justify='center')
|
|
155
148
|
color = color or 'white'
|
|
@@ -195,14 +188,12 @@ def print_header(epstein_files: 'EpsteinFiles') -> None:
|
|
|
195
188
|
|
|
196
189
|
console.print(f"{not_optimized_msg}.\n", style='dim')
|
|
197
190
|
print_page_title(width=TITLE_WIDTH)
|
|
198
|
-
site_type
|
|
191
|
+
site_type = EMAIL if args.all_emails else TEXT_MESSAGE
|
|
199
192
|
print_starred_header(f"This is the Epstein {site_type.title()}s site", num_spaces=4, num_stars=14)
|
|
200
|
-
|
|
201
|
-
other_site_msg = "another site with" + (' all of' if other_site_type == EMAIL else '')
|
|
193
|
+
other_site_msg = "another site with" + (' all of' if other_site_type() == EMAIL else '')
|
|
202
194
|
other_site_msg += f" Epstein's {other_site_type}s also generated by this code"
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
print_centered(parenthesize(Text.from_markup(markup_msg)), style='bold')
|
|
195
|
+
other_site_link_markup = link_markup(other_site_url(), other_site_msg, OTHER_SITE_LINK_STYLE)
|
|
196
|
+
print_centered(parenthesize(Text.from_markup(other_site_link_markup)), style='bold')
|
|
206
197
|
word_count_link = link_text_obj(WORD_COUNT_URL, 'most frequently used words in the emails and texts', AUX_SITE_LINK_STYLE)
|
|
207
198
|
print_centered(parenthesize(word_count_link))
|
|
208
199
|
metadata_link = link_text_obj(JSON_METADATA_URL, 'author attribution explanations', AUX_SITE_LINK_STYLE)
|
|
@@ -272,6 +263,19 @@ def print_numbered_list_of_emailers(_list: list[str | None], epstein_files = Non
|
|
|
272
263
|
console.line()
|
|
273
264
|
|
|
274
265
|
|
|
266
|
+
def print_other_page_link(epstein_files: 'EpsteinFiles') -> None:
|
|
267
|
+
markup_msg = link_markup(other_site_url(), 'the other page', style='light_slate_grey bold')
|
|
268
|
+
|
|
269
|
+
if other_site_type() == EMAIL:
|
|
270
|
+
txt = Text.from_markup(markup_msg).append(f' is uncurated and has all {len(epstein_files.other_files)}')
|
|
271
|
+
txt.append(f" unclassifiable files and {len(epstein_files.emails):,} emails")
|
|
272
|
+
else:
|
|
273
|
+
txt = Text.from_markup(markup_msg).append(f' displays only a small collection of emails and')
|
|
274
|
+
txt.append(" unclassifiable files of particular interest")
|
|
275
|
+
|
|
276
|
+
print_centered(parenthesize(txt), style='dim')
|
|
277
|
+
|
|
278
|
+
|
|
275
279
|
def print_page_title(expand: bool = True, width: int | None = None) -> None:
|
|
276
280
|
title_panel = Panel(Text(PAGE_TITLE, justify='center'), expand=expand, style=TITLE_STYLE, width=width)
|
|
277
281
|
console.print(Align.center(vertically_pad(title_panel)))
|
epstein_files/util/word_count.py
CHANGED
|
@@ -14,7 +14,7 @@ from epstein_files.util.constant.common_words import COMMON_WORDS_LIST, COMMON_W
|
|
|
14
14
|
from epstein_files.util.constant.names import OTHER_NAMES
|
|
15
15
|
from epstein_files.util.constant.output_files import WORD_COUNT_HTML_PATH
|
|
16
16
|
from epstein_files.util.data import ALL_NAMES, flatten, sort_dict
|
|
17
|
-
from epstein_files.util.env import args
|
|
17
|
+
from epstein_files.util.env import args
|
|
18
18
|
from epstein_files.util.logging import logger
|
|
19
19
|
from epstein_files.util.rich import (console, highlighter, print_centered, print_color_key, print_page_title,
|
|
20
20
|
print_panel, print_starred_header, write_html)
|
|
@@ -201,7 +201,7 @@ def write_word_counts_html() -> None:
|
|
|
201
201
|
emails = [e for e in epstein_files.non_duplicate_emails() if not (e.is_junk_mail() or e.is_fwded_article())]
|
|
202
202
|
|
|
203
203
|
for email in emails:
|
|
204
|
-
if
|
|
204
|
+
if args.names and email.author not in args.names:
|
|
205
205
|
continue
|
|
206
206
|
|
|
207
207
|
logger.info(f"Counting words in {email}\n [SUBJECT] {email.subject()}")
|
|
@@ -218,14 +218,12 @@ def write_word_counts_html() -> None:
|
|
|
218
218
|
for word in line.split():
|
|
219
219
|
word_count.tally_word(word, SearchResult(email, [MatchedLine(line, i)]))
|
|
220
220
|
|
|
221
|
-
# Add in iMessage
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
for imessage_log in imessage_logs:
|
|
221
|
+
# Add in iMessage conversations
|
|
222
|
+
for imessage_log in epstein_files.imessage_logs:
|
|
225
223
|
logger.info(f"Counting words in {imessage_log}")
|
|
226
224
|
|
|
227
225
|
for i, msg in enumerate(imessage_log.messages):
|
|
228
|
-
if
|
|
226
|
+
if args.names and msg.author not in args.names:
|
|
229
227
|
continue
|
|
230
228
|
elif HTML_REGEX.search(line):
|
|
231
229
|
continue
|
|
@@ -234,7 +232,7 @@ def write_word_counts_html() -> None:
|
|
|
234
232
|
word_count.tally_word(word, SearchResult(imessage_log, [MatchedLine(msg.text, i)]))
|
|
235
233
|
|
|
236
234
|
print_page_title(expand=False)
|
|
237
|
-
print_starred_header(f"Most Common Words in {len(emails):,} Emails and {len(imessage_logs)} iMessage Logs")
|
|
235
|
+
print_starred_header(f"Most Common Words in {len(emails):,} Emails and {len(epstein_files.imessage_logs)} iMessage Logs")
|
|
238
236
|
print_centered(f"(excluding {len(COMMON_WORDS_LIST)} particularly common words at bottom)", style='dim')
|
|
239
237
|
console.line()
|
|
240
238
|
print_color_key()
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: epstein-files
|
|
3
|
-
Version: 1.0.
|
|
3
|
+
Version: 1.0.16
|
|
4
4
|
Summary: Tools for working with the Jeffrey Epstein documents released in November 2025.
|
|
5
5
|
Home-page: https://michelcrypt4d4mus.github.io/epstein_text_messages/
|
|
6
6
|
License: GPL-3.0-or-later
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
epstein_files/__init__.py,sha256=nOJ26LghS0sCdQ4qGwklVm18kbuFRn6Uu1-JDE8jwd4,5050
|
|
2
|
+
epstein_files/documents/communication.py,sha256=oqNsSDWe-N0jSmchIHxpihihzIWha-foFqMwKZlxyng,2057
|
|
3
|
+
epstein_files/documents/document.py,sha256=5GdM8grhaaefmXeV26XwYRZvMNqFETFnE7mFpVGGNik,17249
|
|
4
|
+
epstein_files/documents/email.py,sha256=fp8hwXoBvc0xMXoddOBFQZLjzUNwKxHdnRnk0htsQ-g,41186
|
|
5
|
+
epstein_files/documents/emails/email_header.py,sha256=wkPfSLbmzkAeQwvhf0bAeFDLPbQT-EeG0v8vNNLYktM,7502
|
|
6
|
+
epstein_files/documents/imessage/text_message.py,sha256=icIiKRRuZapkV9r_PID_7hEfy7YvPrIm9Emc4QiYxbw,2806
|
|
7
|
+
epstein_files/documents/json_file.py,sha256=WcZW5NNqA67rHTdopbOGtup00muNaLlvrNgKb-K4zO8,1504
|
|
8
|
+
epstein_files/documents/messenger_log.py,sha256=zRVVe82cNmNmg50kqScH38yGGoSx8NjCWfLwFGUb0rs,6501
|
|
9
|
+
epstein_files/documents/other_file.py,sha256=CCwOYsipYTWZj8pSTl0kgUy_LRu7Z5ZuWygQEYhilNA,9778
|
|
10
|
+
epstein_files/epstein_files.py,sha256=LHApXzJBKauK4Z8Bn00FPr4A83VTdITnGqLn0W_vpnQ,17883
|
|
11
|
+
epstein_files/util/constant/common_words.py,sha256=aR0UjoWmxyR49XS-DtHECQ1CiA_bK8hNP6CQ1TS9yZA,3696
|
|
12
|
+
epstein_files/util/constant/html.py,sha256=9U098TGzlghGg4WfxLYHyub5JGR17Dv7VP5i2MSu8Kk,1415
|
|
13
|
+
epstein_files/util/constant/names.py,sha256=M9sPZwjK1G4Jii4HJpWpUa5Y6lZ7CSJAMqRdpg5YdQg,10505
|
|
14
|
+
epstein_files/util/constant/output_files.py,sha256=BkV4_gmdj46RfGy5SFYp6dgTty3FtlBth5YGmaGutls,1700
|
|
15
|
+
epstein_files/util/constant/strings.py,sha256=rOKmYrGIZFPQbhCgd8z7mUF0CbQQBO4ij8kXvGTDkoE,1857
|
|
16
|
+
epstein_files/util/constant/urls.py,sha256=-cylNL7xJi18a6fawVTF8MO3oEdjMvo9Hg1MwC-7ydI,5098
|
|
17
|
+
epstein_files/util/constants.py,sha256=4WABkEBshduSV4cZkxv0MwgJci9g6MxjhtJfPjersEo,112495
|
|
18
|
+
epstein_files/util/data.py,sha256=JccGFZGiCGm7XtwpQTocIjGYOr6hTUpEPwHhjyW9Xnc,3164
|
|
19
|
+
epstein_files/util/doc_cfg.py,sha256=aBIm0hyxf-aeMsb8ZUNiQFVsPFimjVUIkrVdDrg1iQU,9105
|
|
20
|
+
epstein_files/util/env.py,sha256=aSUC_TwdtKB8z6PCDaLeu3k5qZE3AgcsP9jU2p9eaP0,5640
|
|
21
|
+
epstein_files/util/file_helper.py,sha256=uJzNHihuAi2-XMNbUdjdovgppcIt-fVIIrXHXVShA6Q,2904
|
|
22
|
+
epstein_files/util/highlighted_group.py,sha256=Tm4Fy7oZv3PLWW1yCaRCY2NDfr2RM8zB9sudvqw11lw,36746
|
|
23
|
+
epstein_files/util/logging.py,sha256=fuREq06xUUI3DfCV2JE-8QM-sQKxpLDj0_AYFO6qR1M,1983
|
|
24
|
+
epstein_files/util/output.py,sha256=hnWK0YHEGC5GSlcQA80ZpxUnXV42S0ytKDARl1qk-0E,9012
|
|
25
|
+
epstein_files/util/rich.py,sha256=13sPSve9UEqo51t_5hf86Z492ju4OCHWMxrz6r1PnNQ,15338
|
|
26
|
+
epstein_files/util/search_result.py,sha256=1fxe0KPBQXBk4dLfu6m0QXIzYfZCzvaSkWqvghJGzxY,567
|
|
27
|
+
epstein_files/util/timer.py,sha256=8hxW4Y1JcTUfnBrHh7sL2pM9xu1sL4HFQM4CmmzTarU,837
|
|
28
|
+
epstein_files/util/word_count.py,sha256=o_-HnfzHdPDPR8oA_dv6fjy1dbsHee8p_aoe62PEQHw,9213
|
|
29
|
+
epstein_files-1.0.16.dist-info/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
|
|
30
|
+
epstein_files-1.0.16.dist-info/METADATA,sha256=_tOJD6MZxx4QAja1cVCNOn61_5675M6DTtvFoXQx9UI,5867
|
|
31
|
+
epstein_files-1.0.16.dist-info/WHEEL,sha256=d2fvjOD7sXsVzChCqf0Ty0JbHKBaLYwDbGQDwQTnJ50,88
|
|
32
|
+
epstein_files-1.0.16.dist-info/entry_points.txt,sha256=5qYgwAXpxegeAicD_rzda_trDRnUC51F5UVDpcZ7j6Q,240
|
|
33
|
+
epstein_files-1.0.16.dist-info/RECORD,,
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
epstein_files/__init__.py,sha256=9mClHe3YkTWHulLOZIO2uaxYcff-krpEsc0vphYlwps,4975
|
|
2
|
-
epstein_files/documents/communication.py,sha256=oqNsSDWe-N0jSmchIHxpihihzIWha-foFqMwKZlxyng,2057
|
|
3
|
-
epstein_files/documents/document.py,sha256=1qL1V5VrrtI7uuuLvOw-JU83khRzzEURduuoh_pfghI,17114
|
|
4
|
-
epstein_files/documents/email.py,sha256=eKfDGwbP1nYVfhozM0bSVf-5T-_l_k-0D_HVrQldm38,40904
|
|
5
|
-
epstein_files/documents/emails/email_header.py,sha256=wkPfSLbmzkAeQwvhf0bAeFDLPbQT-EeG0v8vNNLYktM,7502
|
|
6
|
-
epstein_files/documents/imessage/text_message.py,sha256=JPHlO-5Xgt5V5E9fDsgCEr3XOp7FyzlhIHmZhFNZcmg,2806
|
|
7
|
-
epstein_files/documents/json_file.py,sha256=WcZW5NNqA67rHTdopbOGtup00muNaLlvrNgKb-K4zO8,1504
|
|
8
|
-
epstein_files/documents/messenger_log.py,sha256=le-cj_ZBDUb_jnxP_F05KlnPjh0nDbgpPSWl4-HL-J4,6502
|
|
9
|
-
epstein_files/documents/other_file.py,sha256=tJmEH3cGeEcRIZW5F-RuSJprYM_2r1jEbsF_kjSsA3E,9788
|
|
10
|
-
epstein_files/epstein_files.py,sha256=aO2vntbA7DonSk96xB5us5VaDSpp79Mpu8eYJ_g_8Qo,20025
|
|
11
|
-
epstein_files/util/constant/common_words.py,sha256=aR0UjoWmxyR49XS-DtHECQ1CiA_bK8hNP6CQ1TS9yZA,3696
|
|
12
|
-
epstein_files/util/constant/html.py,sha256=9U098TGzlghGg4WfxLYHyub5JGR17Dv7VP5i2MSu8Kk,1415
|
|
13
|
-
epstein_files/util/constant/names.py,sha256=smC9xsR9E9WECXi_ygK_6lrcEPZWZINLZrp_-BthUtA,10377
|
|
14
|
-
epstein_files/util/constant/output_files.py,sha256=BkV4_gmdj46RfGy5SFYp6dgTty3FtlBth5YGmaGutls,1700
|
|
15
|
-
epstein_files/util/constant/strings.py,sha256=etCmLZPuriVYDap4iG_0Nfd92P1cvRpK2R7ZpVAGDrw,1942
|
|
16
|
-
epstein_files/util/constant/urls.py,sha256=EKzpL1np3cdyYvUlgv1zl9IJU8Vrg8jXpAu6YpM0_Bk,5283
|
|
17
|
-
epstein_files/util/constants.py,sha256=W-4ibPdv8I62uNyoBUR7sWWiqUWWr2n414WnZNA_Who,112605
|
|
18
|
-
epstein_files/util/data.py,sha256=JccGFZGiCGm7XtwpQTocIjGYOr6hTUpEPwHhjyW9Xnc,3164
|
|
19
|
-
epstein_files/util/doc_cfg.py,sha256=uVUgZF7p5QMhbPEVauQWlRWQRhP0Imr5XaNQtMk0E7c,9053
|
|
20
|
-
epstein_files/util/env.py,sha256=zg-TJ8ea6nTa0PyYgY97Zksre8au1ELv2i8vOizZt7Y,5645
|
|
21
|
-
epstein_files/util/file_helper.py,sha256=tacTe1GcAnckPFvjMgxRRSLnFgr2aVIYsgfDR_C9uXk,2780
|
|
22
|
-
epstein_files/util/highlighted_group.py,sha256=mNcdML0h88e2voEiUJxpgAVXHh3jQ8f0XV8qVdZMkBM,36550
|
|
23
|
-
epstein_files/util/logging.py,sha256=fuREq06xUUI3DfCV2JE-8QM-sQKxpLDj0_AYFO6qR1M,1983
|
|
24
|
-
epstein_files/util/output.py,sha256=bb_-jRoFNNMHXPSaptEXdkbqNDJYOpNSs6dkJKvi_HQ,7581
|
|
25
|
-
epstein_files/util/rich.py,sha256=bQPlOEZ6qTpVF4yPnwmlBk4K11zH5RJjwbWeBIOUUGE,15191
|
|
26
|
-
epstein_files/util/search_result.py,sha256=1fxe0KPBQXBk4dLfu6m0QXIzYfZCzvaSkWqvghJGzxY,567
|
|
27
|
-
epstein_files/util/timer.py,sha256=8hxW4Y1JcTUfnBrHh7sL2pM9xu1sL4HFQM4CmmzTarU,837
|
|
28
|
-
epstein_files/util/word_count.py,sha256=dTBNqX98sj7W46O0uit76I4hYBhm0bsY1Q7RHwWehiU,9349
|
|
29
|
-
epstein_files-1.0.14.dist-info/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
|
|
30
|
-
epstein_files-1.0.14.dist-info/METADATA,sha256=AUw8p6SQuvkJONsHErig0L--FyAU2y892DYpdpimqtg,5867
|
|
31
|
-
epstein_files-1.0.14.dist-info/WHEEL,sha256=d2fvjOD7sXsVzChCqf0Ty0JbHKBaLYwDbGQDwQTnJ50,88
|
|
32
|
-
epstein_files-1.0.14.dist-info/entry_points.txt,sha256=5qYgwAXpxegeAicD_rzda_trDRnUC51F5UVDpcZ7j6Q,240
|
|
33
|
-
epstein_files-1.0.14.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|