pyeasyphd 0.4.0__py3-none-any.whl → 0.4.2__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.
Potentially problematic release.
This version of pyeasyphd might be problematic. Click here for more details.
- pyeasyphd/main/python_run_md.py +16 -7
- pyeasyphd/scripts/__init__.py +1 -1
- pyeasyphd/scripts/run_article_md.py +2 -15
- pyeasyphd/scripts/run_article_tex.py +1 -7
- pyeasyphd/scripts/run_beamer_tex.py +1 -7
- pyeasyphd/scripts/run_compare.py +2 -8
- pyeasyphd/scripts/run_format.py +2 -8
- pyeasyphd/scripts/run_replace.py +1 -5
- pyeasyphd/scripts/run_search.py +10 -17
- pyeasyphd/tools/generate/generate_from_bibs.py +1 -3
- pyeasyphd/tools/generate/generate_links.py +1 -1
- {pyeasyphd-0.4.0.dist-info → pyeasyphd-0.4.2.dist-info}/METADATA +1 -1
- {pyeasyphd-0.4.0.dist-info → pyeasyphd-0.4.2.dist-info}/RECORD +15 -15
- {pyeasyphd-0.4.0.dist-info → pyeasyphd-0.4.2.dist-info}/WHEEL +0 -0
- {pyeasyphd-0.4.0.dist-info → pyeasyphd-0.4.2.dist-info}/licenses/LICENSE +0 -0
pyeasyphd/main/python_run_md.py
CHANGED
|
@@ -20,24 +20,24 @@ def batch_convert_citations(text):
|
|
|
20
20
|
Example: [@ref1; @ref2] -> <sup>[@ref1](#ref1)</sup><sup>[@ref2](#ref2)</sup>
|
|
21
21
|
"""
|
|
22
22
|
# Match all citation patterns within square brackets
|
|
23
|
-
pattern = r
|
|
23
|
+
pattern = r"\[([^]]+)\]"
|
|
24
24
|
|
|
25
25
|
def process_citation(match):
|
|
26
26
|
citations = match.group(1)
|
|
27
27
|
# Split multiple citations (support semicolon or comma separation)
|
|
28
|
-
citation_list = re.split(r
|
|
28
|
+
citation_list = re.split(r"[;,]", citations)
|
|
29
29
|
|
|
30
30
|
result = []
|
|
31
31
|
for citation in citation_list:
|
|
32
32
|
citation = citation.strip()
|
|
33
|
-
if citation.startswith(
|
|
33
|
+
if citation.startswith("@"):
|
|
34
34
|
cite_id = citation[1:] # Remove the @ symbol
|
|
35
|
-
result.append(f
|
|
35
|
+
result.append(f"[{citation}](#{cite_id.lower()})")
|
|
36
36
|
else:
|
|
37
37
|
# Keep non-citation content in original format
|
|
38
|
-
result.append(f
|
|
38
|
+
result.append(f"[{citation}]")
|
|
39
39
|
|
|
40
|
-
return
|
|
40
|
+
return "".join(result)
|
|
41
41
|
|
|
42
42
|
return re.sub(pattern, process_citation, text)
|
|
43
43
|
|
|
@@ -259,7 +259,16 @@ class PythonRunMd(BasicInput):
|
|
|
259
259
|
bib_in_md = []
|
|
260
260
|
if self.add_bib_in_md:
|
|
261
261
|
temp_c = combine_content_in_list([key_url_http_bib_dict[k][2] for k in key_in_md])
|
|
262
|
-
bib_in_md = combine_content_in_list(
|
|
262
|
+
bib_in_md = combine_content_in_list(
|
|
263
|
+
[
|
|
264
|
+
["## Bibliography\n\n"],
|
|
265
|
+
["<details>\n<summary>Bibliography</summary>\n\n"],
|
|
266
|
+
["```\n"],
|
|
267
|
+
temp_c,
|
|
268
|
+
["```\n"],
|
|
269
|
+
["</details>\n"],
|
|
270
|
+
]
|
|
271
|
+
)
|
|
263
272
|
|
|
264
273
|
# Generate basic/beauty/complex markdown content
|
|
265
274
|
if dct := eval(f"key_{self.display_basic_beauty_complex_references_in_md}_dict"):
|
pyeasyphd/scripts/__init__.py
CHANGED
|
@@ -15,7 +15,7 @@ __all__ = [
|
|
|
15
15
|
"run_compare_bib_with_zotero",
|
|
16
16
|
"run_format_bib_to_save_by_entry_type",
|
|
17
17
|
"run_format_bib_to_abbr_zotero_save",
|
|
18
|
-
"run_replace_to_standard_cite_keys"
|
|
18
|
+
"run_replace_to_standard_cite_keys",
|
|
19
19
|
]
|
|
20
20
|
|
|
21
21
|
from .run_article_md import run_article_md_daily_notes
|
|
@@ -9,7 +9,7 @@ def run_article_md_daily_notes(
|
|
|
9
9
|
path_output_file: str,
|
|
10
10
|
bib_path_or_file: str,
|
|
11
11
|
path_conf_j_jsons: str,
|
|
12
|
-
options: dict
|
|
12
|
+
options: dict,
|
|
13
13
|
) -> None:
|
|
14
14
|
"""
|
|
15
15
|
Run article markdown daily notes processing pipeline.
|
|
@@ -32,13 +32,11 @@ def run_article_md_daily_notes(
|
|
|
32
32
|
_options = {
|
|
33
33
|
"full_json_c": os.path.expanduser(os.path.join(path_conf_j_jsons, "conferences.json")),
|
|
34
34
|
"full_json_j": os.path.expanduser(os.path.join(path_conf_j_jsons, "journals.json")),
|
|
35
|
-
|
|
36
35
|
# figure options
|
|
37
36
|
"includegraphics_figs_directory": "",
|
|
38
37
|
"shutil_includegraphics_figs": False,
|
|
39
38
|
"includegraphics_figs_in_relative_path": True,
|
|
40
39
|
"figure_folder_name": "figs", # "" or "figs" or "main"
|
|
41
|
-
|
|
42
40
|
# bib options
|
|
43
41
|
"abbr_index_article_for_abbr": 1, # 0, 1, 2
|
|
44
42
|
"abbr_index_inproceedings_for_abbr": 2, # 0, 1, 2
|
|
@@ -48,34 +46,28 @@ def run_article_md_daily_notes(
|
|
|
48
46
|
"bib_for_abbr_name": "abbr.bib",
|
|
49
47
|
"bib_for_zotero_name": "zotero.bib",
|
|
50
48
|
"bib_for_save_name": "save.bib",
|
|
51
|
-
|
|
52
49
|
"bib_folder_name": "bibs", # "" or "bib" or "bibs" or "main"
|
|
53
50
|
"delete_original_bib_in_output_folder": True, # default is False
|
|
54
51
|
"bib_path_or_file": os.path.expanduser(bib_path_or_file),
|
|
55
|
-
|
|
56
52
|
# tex options
|
|
57
53
|
"handly_preamble": False,
|
|
58
54
|
"final_output_main_tex_name": "main.tex",
|
|
59
55
|
"run_latex": False,
|
|
60
56
|
"delete_run_latex_cache": False,
|
|
61
|
-
|
|
62
57
|
"input_texs_directory": "",
|
|
63
58
|
"shutil_input_texs": False, # True or False
|
|
64
59
|
"input_texs_in_relative_path": True,
|
|
65
60
|
"tex_folder_name": "texs", # "" or "tex" or "texs" or "main"
|
|
66
61
|
"delete_original_tex_in_output_folder": True, # default is False
|
|
67
62
|
"generate_tex": False,
|
|
68
|
-
|
|
69
63
|
# md options
|
|
70
64
|
# ["www", "google", "connected", "scite"]
|
|
71
65
|
"display_www_google_connected_scite": ["google", "connected"], # python_writers.py
|
|
72
|
-
|
|
73
66
|
"join_flag_in_http": " | ", # default is " | " or " |\n"
|
|
74
67
|
"add_url_for_basic_dict": False, # default is True
|
|
75
68
|
"add_anchor_for_basic_dict": True, # default is False
|
|
76
69
|
"add_anchor_for_beauty_dict": False, # default is False
|
|
77
70
|
"add_anchor_for_complex_dict": False, # default is False
|
|
78
|
-
|
|
79
71
|
"final_output_main_md_name": "main.md",
|
|
80
72
|
"delete_temp_generate_md": True,
|
|
81
73
|
"add_reference_in_md": True,
|
|
@@ -84,10 +76,8 @@ def run_article_md_daily_notes(
|
|
|
84
76
|
"replace_by_basic_beauty_complex_in_md": "beauty", # default is "basic"
|
|
85
77
|
"display_basic_beauty_complex_references_in_md": "basic", # default is "beauty"
|
|
86
78
|
"add_anchor_in_md": True, # default is False
|
|
87
|
-
|
|
88
79
|
"md_folder_name": "mds", # "" or "md" or "main"
|
|
89
80
|
"delete_original_md_in_output_folder": True, # default is False
|
|
90
|
-
|
|
91
81
|
# html options
|
|
92
82
|
"generate_html": False,
|
|
93
83
|
}
|
|
@@ -100,10 +90,7 @@ def run_article_md_daily_notes(
|
|
|
100
90
|
|
|
101
91
|
# Generate output filenames based on input directory name (platform-independent)
|
|
102
92
|
dir_name = os.path.basename(os.path.dirname(file_list[0]))
|
|
103
|
-
_options.update({
|
|
104
|
-
"final_output_main_tex_name": f"{dir_name}.tex",
|
|
105
|
-
"final_output_main_md_name": f"{dir_name}.md"
|
|
106
|
-
})
|
|
93
|
+
_options.update({"final_output_main_tex_name": f"{dir_name}.tex", "final_output_main_md_name": f"{dir_name}.md"})
|
|
107
94
|
|
|
108
95
|
PyRunBibMdTex(path_output_file, ".md", "paper", _options).run_files(file_list, "", "current")
|
|
109
96
|
|
|
@@ -11,7 +11,7 @@ def run_article_tex_submit(
|
|
|
11
11
|
path_output_file: str,
|
|
12
12
|
bib_path_or_file: str,
|
|
13
13
|
path_conf_j_jsons: str,
|
|
14
|
-
options: dict
|
|
14
|
+
options: dict,
|
|
15
15
|
) -> None:
|
|
16
16
|
"""
|
|
17
17
|
Process academic article files (TeX, and bibliography) with automated Git version control.
|
|
@@ -39,13 +39,11 @@ def run_article_tex_submit(
|
|
|
39
39
|
_options = {
|
|
40
40
|
"full_json_c": os.path.expanduser(os.path.join(path_conf_j_jsons, "conferences.json")),
|
|
41
41
|
"full_json_j": os.path.expanduser(os.path.join(path_conf_j_jsons, "journals.json")),
|
|
42
|
-
|
|
43
42
|
# figure options
|
|
44
43
|
"includegraphics_figs_directory": os.path.join(path_input_file, "data", "raw"),
|
|
45
44
|
"shutil_includegraphics_figs": True,
|
|
46
45
|
"includegraphics_figs_in_relative_path": True,
|
|
47
46
|
"figure_folder_name": "figs", # "" or "figs" or "main"
|
|
48
|
-
|
|
49
47
|
# bib options
|
|
50
48
|
"abbr_index_article_for_abbr": 1, # 0, 1, 2
|
|
51
49
|
"abbr_index_inproceedings_for_abbr": 0, # 0, 1, 2
|
|
@@ -56,24 +54,20 @@ def run_article_tex_submit(
|
|
|
56
54
|
"bib_for_zotero_name": "zotero.bib",
|
|
57
55
|
"bib_for_save_name": "save.bib",
|
|
58
56
|
"display_google_connected_scite": ["google", "connected", "scite"],
|
|
59
|
-
|
|
60
57
|
"bib_folder_name": "bibs", # "" or "bib" or "bibs" or "main"
|
|
61
58
|
"delete_original_bib_in_output_folder": False,
|
|
62
59
|
"bib_path_or_file": os.path.expanduser(bib_path_or_file),
|
|
63
|
-
|
|
64
60
|
# tex options
|
|
65
61
|
"handly_preamble": True,
|
|
66
62
|
"final_output_main_tex_name": "main.tex",
|
|
67
63
|
"run_latex": False,
|
|
68
64
|
"delete_run_latex_cache": False,
|
|
69
|
-
|
|
70
65
|
"input_texs_directory": os.path.join(path_input_file, "data", "raw"),
|
|
71
66
|
"shutil_input_texs": True,
|
|
72
67
|
"input_texs_in_relative_path": True,
|
|
73
68
|
"tex_folder_name": "texs", # "" or "tex" or "texs" or "main"
|
|
74
69
|
"delete_original_tex_in_output_folder": True,
|
|
75
70
|
"generate_tex": True,
|
|
76
|
-
|
|
77
71
|
# html options
|
|
78
72
|
"generate_html": False,
|
|
79
73
|
}
|
|
@@ -9,7 +9,7 @@ def run_beamer_tex_weekly_reports(
|
|
|
9
9
|
path_output_file: str,
|
|
10
10
|
bib_path_or_file: str,
|
|
11
11
|
path_conf_j_jsons: str,
|
|
12
|
-
options: dict
|
|
12
|
+
options: dict,
|
|
13
13
|
) -> None:
|
|
14
14
|
"""
|
|
15
15
|
Process academic article files (TeX, and bibliography) with automated Git version control.
|
|
@@ -37,13 +37,11 @@ def run_beamer_tex_weekly_reports(
|
|
|
37
37
|
_options = {
|
|
38
38
|
"full_json_c": os.path.expanduser(os.path.join(path_conf_j_jsons, "conferences.json")),
|
|
39
39
|
"full_json_j": os.path.expanduser(os.path.join(path_conf_j_jsons, "journals.json")),
|
|
40
|
-
|
|
41
40
|
# figure options
|
|
42
41
|
"includegraphics_figs_directory": "",
|
|
43
42
|
"shutil_includegraphics_figs": True,
|
|
44
43
|
"includegraphics_figs_in_relative_path": True,
|
|
45
44
|
"figure_folder_name": "figs", # "" or "figs" or "main"
|
|
46
|
-
|
|
47
45
|
# bib options
|
|
48
46
|
"abbr_index_article_for_abbr": 1, # 0, 1, 2
|
|
49
47
|
"abbr_index_inproceedings_for_abbr": 0, # 0, 1, 2
|
|
@@ -54,24 +52,20 @@ def run_beamer_tex_weekly_reports(
|
|
|
54
52
|
"bib_for_zotero_name": "zotero.bib",
|
|
55
53
|
"bib_for_save_name": "save.bib",
|
|
56
54
|
"display_google_connected_scite": ["google", "connected", "scite"],
|
|
57
|
-
|
|
58
55
|
"bib_folder_name": "bibs", # "" or "bib" or "bibs" or "main"
|
|
59
56
|
"delete_original_bib_in_output_folder": False,
|
|
60
57
|
"bib_path_or_file": os.path.expanduser(bib_path_or_file),
|
|
61
|
-
|
|
62
58
|
# tex options
|
|
63
59
|
"handly_preamble": True,
|
|
64
60
|
"final_output_main_tex_name": "main.tex",
|
|
65
61
|
"run_latex": False,
|
|
66
62
|
"delete_run_latex_cache": False,
|
|
67
|
-
|
|
68
63
|
"input_texs_directory": "",
|
|
69
64
|
"shutil_input_texs": False, # default is True
|
|
70
65
|
"input_texs_in_relative_path": True,
|
|
71
66
|
"tex_folder_name": "texs", # "" or "tex" or "texs" or "main"
|
|
72
67
|
"delete_original_tex_in_output_folder": True, # default is False
|
|
73
68
|
"generate_tex": True,
|
|
74
|
-
|
|
75
69
|
# html options
|
|
76
70
|
"generate_html": False,
|
|
77
71
|
}
|
pyeasyphd/scripts/run_compare.py
CHANGED
|
@@ -44,11 +44,7 @@ def run_compare_bib_with_local(
|
|
|
44
44
|
|
|
45
45
|
|
|
46
46
|
def run_compare_bib_with_zotero(
|
|
47
|
-
options: dict,
|
|
48
|
-
need_compare_bib: str,
|
|
49
|
-
zotero_bib: str,
|
|
50
|
-
path_output: str,
|
|
51
|
-
path_conf_j_jsons: str,
|
|
47
|
+
options: dict, need_compare_bib: str, zotero_bib: str, path_output: str, path_conf_j_jsons: str
|
|
52
48
|
) -> None:
|
|
53
49
|
"""
|
|
54
50
|
Compare a target bibliography file with Zotero bibliography data and generate comparison results.
|
|
@@ -67,9 +63,7 @@ def run_compare_bib_with_zotero(
|
|
|
67
63
|
None: Results are written to files in the specified output directory
|
|
68
64
|
"""
|
|
69
65
|
# Expand and normalize file paths
|
|
70
|
-
need_compare_bib, zotero_bib, path_output = expand_paths(
|
|
71
|
-
need_compare_bib, zotero_bib, path_output
|
|
72
|
-
)
|
|
66
|
+
need_compare_bib, zotero_bib, path_output = expand_paths(need_compare_bib, zotero_bib, path_output)
|
|
73
67
|
|
|
74
68
|
# Update options
|
|
75
69
|
options_ = build_base_options([], [], ["arXiv"], [], path_conf_j_jsons)
|
pyeasyphd/scripts/run_format.py
CHANGED
|
@@ -6,10 +6,7 @@ from ._base import build_base_options, expand_paths
|
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
def run_format_bib_to_save_by_entry_type(
|
|
9
|
-
options: dict,
|
|
10
|
-
need_format_bib: str,
|
|
11
|
-
path_output: str,
|
|
12
|
-
path_conf_j_jsons: str,
|
|
9
|
+
options: dict, need_format_bib: str, path_output: str, path_conf_j_jsons: str
|
|
13
10
|
) -> None:
|
|
14
11
|
"""
|
|
15
12
|
Format a bibliography file by organizing entries according to their entry types and save the results.
|
|
@@ -38,10 +35,7 @@ def run_format_bib_to_save_by_entry_type(
|
|
|
38
35
|
|
|
39
36
|
|
|
40
37
|
def run_format_bib_to_abbr_zotero_save(
|
|
41
|
-
options: dict,
|
|
42
|
-
need_format_bib: str,
|
|
43
|
-
path_output: str,
|
|
44
|
-
path_conf_j_jsons: str,
|
|
38
|
+
options: dict, need_format_bib: str, path_output: str, path_conf_j_jsons: str
|
|
45
39
|
) -> None:
|
|
46
40
|
"""
|
|
47
41
|
Format a bibliography file into three different modes: abbreviated, Zotero-compatible, and cleaned source.
|
pyeasyphd/scripts/run_replace.py
CHANGED
|
@@ -6,11 +6,7 @@ from ._base import build_base_options, expand_paths
|
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
def run_replace_to_standard_cite_keys(
|
|
9
|
-
full_tex_md: str,
|
|
10
|
-
full_bib: str,
|
|
11
|
-
path_output: str,
|
|
12
|
-
path_conf_j_jsons: str,
|
|
13
|
-
options: Optional[dict] = None,
|
|
9
|
+
full_tex_md: str, full_bib: str, path_output: str, path_conf_j_jsons: str, options: Optional[dict] = None
|
|
14
10
|
) -> None:
|
|
15
11
|
"""
|
|
16
12
|
Replace citation keys in LaTeX documents with standardized versions.
|
pyeasyphd/scripts/run_search.py
CHANGED
|
@@ -10,12 +10,7 @@ from ._base import build_base_options, build_search_options, expand_path, expand
|
|
|
10
10
|
|
|
11
11
|
|
|
12
12
|
def run_search_for_screen(
|
|
13
|
-
acronym: str,
|
|
14
|
-
year: int,
|
|
15
|
-
title: str,
|
|
16
|
-
path_spidered_bibs: str,
|
|
17
|
-
path_spidering_bibs: str,
|
|
18
|
-
path_conf_j_jsons: str,
|
|
13
|
+
acronym: str, year: int, title: str, path_spidered_bibs: str, path_spidering_bibs: str, path_conf_j_jsons: str
|
|
19
14
|
) -> None:
|
|
20
15
|
"""
|
|
21
16
|
Run search for screen display with specific conference/journal parameters.
|
|
@@ -51,7 +46,7 @@ def run_search_for_screen(
|
|
|
51
46
|
print_on_screen=True,
|
|
52
47
|
search_year_list=search_year_list, # Empty list for all years, otherwise specific year
|
|
53
48
|
keywords_type="Temp",
|
|
54
|
-
keywords_list_list=[[title]] # Use title as search keyword
|
|
49
|
+
keywords_list_list=[[title]], # Use title as search keyword
|
|
55
50
|
),
|
|
56
51
|
}
|
|
57
52
|
|
|
@@ -70,7 +65,7 @@ def run_search_for_files(
|
|
|
70
65
|
path_conf_j_jsons: str,
|
|
71
66
|
search_in_spidered_bibs: bool = False,
|
|
72
67
|
search_in_spidering_bibs: bool = True,
|
|
73
|
-
options: Optional[dict] = None
|
|
68
|
+
options: Optional[dict] = None,
|
|
74
69
|
) -> None:
|
|
75
70
|
"""
|
|
76
71
|
Run search and save results to files with custom keywords.
|
|
@@ -100,14 +95,14 @@ def run_search_for_files(
|
|
|
100
95
|
options_ = {
|
|
101
96
|
**build_base_options(
|
|
102
97
|
include_publisher_list=[], # No specific publishers to include
|
|
103
|
-
include_abbr_list=[],
|
|
98
|
+
include_abbr_list=[], # No specific conference/journal abbreviations to include
|
|
104
99
|
exclude_publisher_list=["arXiv"], # Exclude arXiv publications from search
|
|
105
|
-
exclude_abbr_list=[],
|
|
100
|
+
exclude_abbr_list=[], # No specific conference/journal abbreviations to exclude
|
|
106
101
|
path_conf_j_jsons=path_conf_j_jsons, # Path to conference/journal metadata
|
|
107
102
|
),
|
|
108
103
|
**build_search_options(
|
|
109
|
-
print_on_screen=False,
|
|
110
|
-
search_year_list=[],
|
|
104
|
+
print_on_screen=False, # Disable screen output (results go to files only)
|
|
105
|
+
search_year_list=[], # Empty list means search all years (no year filtering)
|
|
111
106
|
keywords_type=keywords_type, # Use provided keyword category for result organization
|
|
112
107
|
keywords_list_list=keywords_list_list, # Use provided nested keyword lists for searching
|
|
113
108
|
),
|
|
@@ -121,8 +116,8 @@ def run_search_for_files(
|
|
|
121
116
|
path_main_output,
|
|
122
117
|
path_spidered_bibs,
|
|
123
118
|
path_spidering_bibs,
|
|
124
|
-
search_in_spidered_bibs,
|
|
125
|
-
search_in_spidering_bibs
|
|
119
|
+
search_in_spidered_bibs, # Flag to control spidered bibliography search
|
|
120
|
+
search_in_spidering_bibs, # Flag to control spidering bibliography search
|
|
126
121
|
)
|
|
127
122
|
|
|
128
123
|
return None
|
|
@@ -172,9 +167,7 @@ def _execute_searches(
|
|
|
172
167
|
return None
|
|
173
168
|
|
|
174
169
|
|
|
175
|
-
def run_compare_after_search(
|
|
176
|
-
zotero_bib: str, keywords_type: str, path_main_output: str, path_conf_j_jsons: str
|
|
177
|
-
):
|
|
170
|
+
def run_compare_after_search(zotero_bib: str, keywords_type: str, path_main_output: str, path_conf_j_jsons: str):
|
|
178
171
|
"""
|
|
179
172
|
Compare search results with Zotero bibliography and generate comparison report.
|
|
180
173
|
|
|
@@ -117,9 +117,7 @@ def generate_from_bibs_and_write(
|
|
|
117
117
|
path_abbr = os.path.join(root, files[0])
|
|
118
118
|
|
|
119
119
|
# Generate and process library
|
|
120
|
-
library = generate_library_by_filters(
|
|
121
|
-
path_abbr, issue_or_month_flag, year_flag, new_options
|
|
122
|
-
)
|
|
120
|
+
library = generate_library_by_filters(path_abbr, issue_or_month_flag, year_flag, new_options)
|
|
123
121
|
|
|
124
122
|
# Generate md, tex, pdf, html
|
|
125
123
|
html_body = generate_html_from_bib_data(abbr, library, pp, new_options)
|
|
@@ -320,7 +320,7 @@ class PaperLinksGenerator(object):
|
|
|
320
320
|
for abbr in keyword_publisher_abbr[keyword][publisher]:
|
|
321
321
|
lines = []
|
|
322
322
|
for ff in folder_flags:
|
|
323
|
-
ll = os.path.join(folder_name, cj.title(), ff, publisher.lower(), abbr, f
|
|
323
|
+
ll = os.path.join(folder_name, cj.title(), ff, publisher.lower(), abbr, f"{abbr}.html")
|
|
324
324
|
if os.path.exists(os.path.join(self.data_base_path, ll)):
|
|
325
325
|
lines.append(f"[Link]({ll})")
|
|
326
326
|
else:
|
|
@@ -19,26 +19,26 @@ pyeasyphd/data/templates/tex/nextaimathmacros.sty,sha256=iF0jyABkoPUY_XA-lPkvZSl
|
|
|
19
19
|
pyeasyphd/main/__init__.py,sha256=Pv-7359vftMgw3Wi_GuDy99K0TcY6hVwLkFFip774x8,224
|
|
20
20
|
pyeasyphd/main/basic_input.py,sha256=roZSTc8hUavItv0jQsjkmRRf8FHR6FStMrvZcjaSLbk,4484
|
|
21
21
|
pyeasyphd/main/pandoc_md_to.py,sha256=5wRpuf4_ZR9XIRI4HkTcXPiXDwVpdKP3H1Eaf_D2yYQ,16974
|
|
22
|
-
pyeasyphd/main/python_run_md.py,sha256=
|
|
22
|
+
pyeasyphd/main/python_run_md.py,sha256=CjTN5qxCPMFDGCXxzxn5f0qDq3WseNLpFzcJpEn2GR4,14200
|
|
23
23
|
pyeasyphd/main/python_run_tex.py,sha256=9Syu8qRjPXN3gEabfRUWxwTFBm_izIcB4yFhsz3QNs0,7672
|
|
24
24
|
pyeasyphd/pyeasyphd.py,sha256=OAwbwq2rSXLSk2AoTAF8hmlOMRSRfvDn1Uqk-zkuqH8,3470
|
|
25
25
|
pyeasyphd/pyeasyphd.sublime-settings,sha256=Bp_41iwVn23bCs1kC0R-XR8PChUF8btVGXfcwi5A_UU,3093
|
|
26
26
|
pyeasyphd/pyeasyphd.sublime-syntax,sha256=pXylbA-tye-K5dCTjEJLFVRqtY1T7AgWZ4laxo-dnaE,73
|
|
27
|
-
pyeasyphd/scripts/__init__.py,sha256=
|
|
27
|
+
pyeasyphd/scripts/__init__.py,sha256=QDmJugM90NFSzb69A6PSuCf76pHIcptRIaKNtSwXb-s,1235
|
|
28
28
|
pyeasyphd/scripts/_base.py,sha256=Vm-CehgDng38jACb9KBzKkbyJuc_e5UjG06nIMi_l0o,2337
|
|
29
|
-
pyeasyphd/scripts/run_article_md.py,sha256=
|
|
30
|
-
pyeasyphd/scripts/run_article_tex.py,sha256=
|
|
31
|
-
pyeasyphd/scripts/run_beamer_tex.py,sha256=
|
|
32
|
-
pyeasyphd/scripts/run_compare.py,sha256
|
|
33
|
-
pyeasyphd/scripts/run_format.py,sha256=
|
|
29
|
+
pyeasyphd/scripts/run_article_md.py,sha256=CxtNmNREFwPDy3ns0qFiLL3jBw0iRRRCBki71jXPk-E,4273
|
|
30
|
+
pyeasyphd/scripts/run_article_tex.py,sha256=vD9Wa8-XyxHZ48rtllcMCzmkQ0j-p8NpgCkMCZv6RWs,3820
|
|
31
|
+
pyeasyphd/scripts/run_beamer_tex.py,sha256=YId0mofXbJJwsqawzG0_g-umd0Ik_N6JERxmndNnAoA,3357
|
|
32
|
+
pyeasyphd/scripts/run_compare.py,sha256=-VLS0ms049Kd8zbiIdjTpLmkDZuoSZBwG5OfR6PPyno,3206
|
|
33
|
+
pyeasyphd/scripts/run_format.py,sha256=V5RUwa6eZx5kzV6dtE35jM_9S-RckhDTR7xCL-_GpXM,2946
|
|
34
34
|
pyeasyphd/scripts/run_generate.py,sha256=i8J3X3zn2QMuKUshu3FGpaq4kPw_P7TVXU46Wy_mZ8s,8549
|
|
35
|
-
pyeasyphd/scripts/run_replace.py,sha256=
|
|
36
|
-
pyeasyphd/scripts/run_search.py,sha256=
|
|
35
|
+
pyeasyphd/scripts/run_replace.py,sha256=0D5cIsWf8cSysBRc5Nhv95WyHTuGW32W1LgrojkVYmI,1351
|
|
36
|
+
pyeasyphd/scripts/run_search.py,sha256=HQWaKYMgmWhTsgrJIQxWv4ceu5UyEy8gekWDJV_GdHA,10565
|
|
37
37
|
pyeasyphd/tools/__init__.py,sha256=u1MZu_JjVac3HhEmcSTwroS83UVu0W5Vspy3Wu_-GH8,496
|
|
38
|
-
pyeasyphd/tools/generate/generate_from_bibs.py,sha256=
|
|
38
|
+
pyeasyphd/tools/generate/generate_from_bibs.py,sha256=oQlNqYUAhOT1Bnpqeh_Y2yE2knIurpYRMfz4MnxTSZs,7602
|
|
39
39
|
pyeasyphd/tools/generate/generate_html.py,sha256=JzUEqgTVCaFzd4hXTYUEf0cVSO1QRe0nVUS72W6oyyU,5349
|
|
40
40
|
pyeasyphd/tools/generate/generate_library.py,sha256=AihCJVFMRJExlpWDQVqvBczOwmbmXqGzGU4cL-5s0F4,7930
|
|
41
|
-
pyeasyphd/tools/generate/generate_links.py,sha256=
|
|
41
|
+
pyeasyphd/tools/generate/generate_links.py,sha256=_fz6IaW52c5tGPHf2JT9DSJXziCIdM3XhuKuZUPKHgg,15891
|
|
42
42
|
pyeasyphd/tools/py_run_bib_md_tex.py,sha256=zEWy7yglVU9hscrHnWmkPy2qvDOjU3KS97VK645W_Yw,17358
|
|
43
43
|
pyeasyphd/tools/search/data.py,sha256=ykFEd8Tc04dupiG9Y8viOcEe5g56LCaMH-0KwbV4vt4,10306
|
|
44
44
|
pyeasyphd/tools/search/search_base.py,sha256=JR80m72UBJu__CWV1KP7ixPhK1uDyApPhDaExrlzfKM,5950
|
|
@@ -47,7 +47,7 @@ pyeasyphd/tools/search/search_keywords.py,sha256=tUEKsCqiaUHEyRa23wzDLri3puAWrNK
|
|
|
47
47
|
pyeasyphd/tools/search/search_writers.py,sha256=Dz6D8m17R7x8NT7_PCjwmzlq29AfUz-N6sjyCguDTo4,15702
|
|
48
48
|
pyeasyphd/tools/search/utils.py,sha256=bo7xtIZu31dQvjol1lwyWq1t6ldbw28oondwK8VbAqk,7562
|
|
49
49
|
pyeasyphd/utils/utils.py,sha256=kWxzzgNwz77K9Q7j-RKTaoPpxqiVLVtaBMMhLuEenwE,3128
|
|
50
|
-
pyeasyphd-0.4.
|
|
51
|
-
pyeasyphd-0.4.
|
|
52
|
-
pyeasyphd-0.4.
|
|
53
|
-
pyeasyphd-0.4.
|
|
50
|
+
pyeasyphd-0.4.2.dist-info/METADATA,sha256=tyesn2ZPCAB2IY_o-wVOVVzTXWu8pXnZ85zMVbnV4VM,1469
|
|
51
|
+
pyeasyphd-0.4.2.dist-info/WHEEL,sha256=zp0Cn7JsFoX2ATtOhtaFYIiE2rmFAD4OcMhtUki8W3U,88
|
|
52
|
+
pyeasyphd-0.4.2.dist-info/licenses/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
|
|
53
|
+
pyeasyphd-0.4.2.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|