scitex 2.13.0__py3-none-any.whl → 2.15.1__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.
- scitex/__init__.py +80 -2
- scitex/__version__.py +11 -8
- scitex/_env_loader.py +156 -0
- scitex/_mcp_resources/__init__.py +37 -0
- scitex/_mcp_resources/_cheatsheet.py +135 -0
- scitex/_mcp_resources/_figrecipe.py +138 -0
- scitex/_mcp_resources/_formats.py +102 -0
- scitex/_mcp_resources/_modules.py +337 -0
- scitex/_mcp_resources/_session.py +149 -0
- scitex/_mcp_tools/__init__.py +40 -0
- scitex/_mcp_tools/audio.py +200 -0
- scitex/_mcp_tools/canvas.py +128 -0
- scitex/_mcp_tools/capture.py +174 -0
- scitex/_mcp_tools/diagram.py +22 -0
- scitex/_mcp_tools/introspect.py +191 -0
- scitex/_mcp_tools/plt.py +305 -0
- scitex/_mcp_tools/scholar.py +447 -0
- scitex/_mcp_tools/social.py +244 -0
- scitex/_mcp_tools/stats.py +206 -0
- scitex/_mcp_tools/template.py +66 -0
- scitex/_mcp_tools/ui.py +80 -0
- scitex/_mcp_tools/writer.py +37 -0
- scitex/ai/_gen_ai/_PARAMS.py +10 -7
- scitex/ai/classification/reporters/_ClassificationReporter.py +0 -0
- scitex/ai/classification/reporters/_SingleClassificationReporter.py +45 -1603
- scitex/ai/classification/reporters/_mixins/__init__.py +36 -0
- scitex/ai/classification/reporters/_mixins/_constants.py +67 -0
- scitex/ai/classification/reporters/_mixins/_cv_summary.py +387 -0
- scitex/ai/classification/reporters/_mixins/_feature_importance.py +119 -0
- scitex/ai/classification/reporters/_mixins/_metrics.py +275 -0
- scitex/ai/classification/reporters/_mixins/_plotting.py +179 -0
- scitex/ai/classification/reporters/_mixins/_reports.py +153 -0
- scitex/ai/classification/reporters/_mixins/_storage.py +160 -0
- scitex/ai/classification/timeseries/_TimeSeriesBlockingSplit.py +0 -0
- scitex/ai/classification/timeseries/_TimeSeriesCalendarSplit.py +0 -0
- scitex/ai/classification/timeseries/_TimeSeriesSlidingWindowSplit.py +0 -0
- scitex/ai/classification/timeseries/_TimeSeriesSlidingWindowSplit_v01-not-using-n_splits.py +0 -0
- scitex/ai/classification/timeseries/_TimeSeriesStratifiedSplit.py +0 -0
- scitex/ai/classification/timeseries/_normalize_timestamp.py +0 -0
- scitex/ai/metrics/_calc_seizure_prediction_metrics.py +0 -0
- scitex/ai/plt/_plot_feature_importance.py +0 -0
- scitex/ai/plt/_plot_learning_curve.py +0 -0
- scitex/ai/plt/_plot_optuna_study.py +0 -0
- scitex/ai/plt/_plot_pre_rec_curve.py +0 -0
- scitex/ai/plt/_plot_roc_curve.py +0 -0
- scitex/ai/plt/_stx_conf_mat.py +0 -0
- scitex/ai/training/_LearningCurveLogger.py +0 -0
- scitex/audio/README.md +88 -7
- scitex/audio/__init__.py +127 -60
- scitex/audio/__main__.py +17 -21
- scitex/audio/_branding.py +185 -0
- scitex/audio/_mcp/__init__.py +36 -0
- scitex/audio/_mcp/handlers.py +419 -0
- scitex/audio/_mcp/speak_handlers.py +238 -0
- scitex/audio/_mcp/tool_schemas.py +203 -0
- scitex/audio/_relay.py +225 -0
- scitex/audio/engines/elevenlabs_engine.py +6 -1
- scitex/audio/mcp_server.py +355 -337
- scitex/bridge/_figrecipe.py +40 -8
- scitex/bridge/_stats_plt.py +2 -4
- scitex/bridge/_stats_vis.py +7 -5
- scitex/browser/automation/CookieHandler.py +0 -0
- scitex/browser/collaboration/__init__.py +0 -1
- scitex/browser/core/BrowserMixin.py +0 -0
- scitex/browser/core/ChromeProfileManager.py +10 -3
- scitex/browser/debugging/_browser_logger.py +6 -9
- scitex/browser/debugging/_highlight_element.py +0 -0
- scitex/browser/debugging/_show_grid.py +0 -0
- scitex/browser/interaction/click_center.py +0 -0
- scitex/browser/interaction/click_with_fallbacks.py +0 -0
- scitex/browser/interaction/close_popups.py +0 -0
- scitex/browser/interaction/fill_with_fallbacks.py +0 -0
- scitex/browser/pdf/click_download_for_chrome_pdf_viewer.py +0 -0
- scitex/browser/pdf/detect_chrome_pdf_viewer.py +0 -0
- scitex/browser/stealth/HumanBehavior.py +0 -0
- scitex/browser/stealth/StealthManager.py +0 -0
- scitex/canvas/README.md +1 -1
- scitex/canvas/_mcp/__init__.py +4 -0
- scitex/canvas/_mcp/handlers.py +372 -0
- scitex/canvas/_mcp/tool_schemas.py +219 -0
- scitex/canvas/editor/_dearpygui/__init__.py +25 -0
- scitex/canvas/editor/_dearpygui/_editor.py +147 -0
- scitex/canvas/editor/_dearpygui/_handlers.py +476 -0
- scitex/canvas/editor/_dearpygui/_panels/__init__.py +17 -0
- scitex/canvas/editor/_dearpygui/_panels/_control.py +119 -0
- scitex/canvas/editor/_dearpygui/_panels/_element_controls.py +190 -0
- scitex/canvas/editor/_dearpygui/_panels/_preview.py +43 -0
- scitex/canvas/editor/_dearpygui/_panels/_sections.py +390 -0
- scitex/canvas/editor/_dearpygui/_plotting.py +187 -0
- scitex/canvas/editor/_dearpygui/_rendering.py +504 -0
- scitex/canvas/editor/_dearpygui/_selection.py +295 -0
- scitex/canvas/editor/_dearpygui/_state.py +93 -0
- scitex/canvas/editor/_dearpygui/_utils.py +61 -0
- scitex/canvas/editor/flask_editor/templates/__init__.py +32 -70
- scitex/canvas/mcp_server.py +2 -2
- scitex/capture/__init__.py +0 -1
- scitex/capture/_mcp/__init__.py +11 -0
- scitex/capture/_mcp/handlers.py +438 -0
- scitex/capture/_mcp/tool_schemas.py +270 -0
- scitex/cli/__init__.py +44 -2
- scitex/cli/audio.py +150 -3
- scitex/cli/browser.py +310 -0
- scitex/cli/capture.py +14 -3
- scitex/cli/introspect.py +443 -0
- scitex/cli/main.py +230 -103
- scitex/cli/mcp.py +362 -0
- scitex/cli/repro.py +18 -0
- scitex/cli/resource.py +18 -0
- scitex/cli/scholar/__init__.py +97 -0
- scitex/cli/scholar/_crossref_scitex.py +296 -0
- scitex/cli/scholar/_fetch.py +369 -0
- scitex/cli/scholar/_jobs.py +306 -0
- scitex/cli/scholar/_library.py +152 -0
- scitex/cli/scholar/_utils.py +35 -0
- scitex/cli/social.py +314 -0
- scitex/cli/stats.py +18 -0
- scitex/cli/template.py +18 -0
- scitex/cli/tex.py +18 -0
- scitex/cli/writer.py +190 -20
- scitex/compat/__init__.py +74 -0
- scitex/config/README.md +1 -1
- scitex/config/__init__.py +16 -2
- scitex/config/_env_registry.py +191 -0
- scitex/config/default.yaml +31 -0
- scitex/cv/__init__.py +87 -0
- scitex/cv/_draw.py +236 -0
- scitex/cv/_filters.py +217 -0
- scitex/cv/_io.py +157 -0
- scitex/cv/_transform.py +184 -0
- scitex/dev/__init__.py +2 -0
- scitex/dev/cv/__init__.py +60 -0
- scitex/dev/cv/_compose.py +330 -0
- scitex/dev/cv/_title_card.py +351 -0
- scitex/dev/plt/__init__.py +0 -0
- scitex/dev/plt/demo_plotters/__init__.py +0 -0
- scitex/dev/plt/mpl/get_dir_ax.py +0 -0
- scitex/dev/plt/mpl/get_signatures.py +0 -0
- scitex/dev/plt/mpl/get_signatures_details.py +0 -0
- scitex/diagram/__init__.py +42 -19
- scitex/diagram/mcp_server.py +13 -125
- scitex/dt/_normalize_timestamp.py +0 -0
- scitex/gen/__init__.py +0 -0
- scitex/gen/misc.py +0 -0
- scitex/git/_init.py +2 -2
- scitex/git/_session.py +0 -0
- scitex/introspect/__init__.py +75 -0
- scitex/introspect/_call_graph.py +303 -0
- scitex/introspect/_class_hierarchy.py +163 -0
- scitex/introspect/_core.py +42 -0
- scitex/introspect/_docstring.py +131 -0
- scitex/introspect/_examples.py +113 -0
- scitex/introspect/_imports.py +271 -0
- scitex/introspect/_mcp/__init__.py +37 -0
- scitex/introspect/_mcp/handlers.py +208 -0
- scitex/introspect/_members.py +151 -0
- scitex/introspect/_resolve.py +89 -0
- scitex/introspect/_signature.py +131 -0
- scitex/introspect/_source.py +80 -0
- scitex/introspect/_type_hints.py +172 -0
- scitex/io/bundle/README.md +1 -1
- scitex/io/bundle/kinds/__init__.py +0 -0
- scitex/io/bundle/kinds/_figure/__init__.py +0 -0
- scitex/io/bundle/kinds/_plot/__init__.py +0 -0
- scitex/io/bundle/kinds/_shape/__init__.py +0 -0
- scitex/io/bundle/kinds/_text/__init__.py +0 -0
- scitex/logging/_context.py +5 -4
- scitex/mcp_server.py +170 -145
- scitex/plt/__init__.py +249 -548
- scitex/plt/_figrecipe_integration.py +121 -0
- scitex/plt/_subplots/_AxisWrapperMixins/_SeabornMixin/_wrappers.py +5 -10
- scitex/plt/_subplots/_FigWrapper.py +139 -88
- scitex/plt/_subplots/_export_as_csv_formatters/_format_pcolormesh.py +0 -0
- scitex/plt/_subplots/_export_as_csv_formatters/_format_stackplot.py +0 -0
- scitex/plt/docs/EXTERNAL_PACKAGE_BRANDING.md +149 -0
- scitex/plt/gallery/README.md +1 -1
- scitex/plt/styles/_plot_postprocess.py +35 -117
- scitex/plt/styles/_postprocess_helpers.py +158 -0
- scitex/plt/utils/_hitmap/__init__.py +82 -0
- scitex/plt/utils/_hitmap/_artist_extraction.py +343 -0
- scitex/plt/utils/_hitmap/_color_application.py +346 -0
- scitex/plt/utils/_hitmap/_color_conversion.py +121 -0
- scitex/plt/utils/_hitmap/_constants.py +40 -0
- scitex/plt/utils/_hitmap/_hitmap_core.py +334 -0
- scitex/plt/utils/_hitmap/_path_extraction.py +357 -0
- scitex/plt/utils/_hitmap/_query.py +113 -0
- scitex/plt/utils/_hitmap.py +46 -1616
- scitex/plt/utils/_metadata/__init__.py +80 -0
- scitex/plt/utils/_metadata/_artists/__init__.py +25 -0
- scitex/plt/utils/_metadata/_artists/_base.py +195 -0
- scitex/plt/utils/_metadata/_artists/_collections.py +356 -0
- scitex/plt/utils/_metadata/_artists/_extract.py +57 -0
- scitex/plt/utils/_metadata/_artists/_images.py +80 -0
- scitex/plt/utils/_metadata/_artists/_lines.py +261 -0
- scitex/plt/utils/_metadata/_artists/_patches.py +247 -0
- scitex/plt/utils/_metadata/_artists/_text.py +106 -0
- scitex/plt/utils/_metadata/_csv.py +416 -0
- scitex/plt/utils/_metadata/_detect.py +225 -0
- scitex/plt/utils/_metadata/_legend.py +127 -0
- scitex/plt/utils/_metadata/_rounding.py +117 -0
- scitex/plt/utils/_metadata/_verification.py +202 -0
- scitex/repro/_RandomStateManager.py +0 -0
- scitex/repro/_gen_ID.py +0 -0
- scitex/repro/_gen_timestamp.py +0 -0
- scitex/repro/_hash_array.py +0 -0
- scitex/schema/README.md +1 -1
- scitex/scholar/__init__.py +8 -0
- scitex/scholar/_mcp/__init__.py +4 -0
- scitex/scholar/_mcp/all_handlers.py +74 -0
- scitex/scholar/_mcp/crossref_handlers.py +265 -0
- scitex/scholar/_mcp/handlers.py +1478 -0
- scitex/scholar/_mcp/job_handlers.py +172 -0
- scitex/scholar/_mcp/job_tool_schemas.py +166 -0
- scitex/scholar/_mcp/tool_schemas.py +505 -0
- scitex/scholar/auth/core/BrowserAuthenticator.py +126 -9
- scitex/scholar/auth/providers/OpenAthensAuthenticator.py +55 -210
- scitex/scholar/auth/providers/_notifications.py +417 -0
- scitex/scholar/auth/sso/BaseSSOAutomator.py +36 -17
- scitex/scholar/auth/sso/UniversityOfMelbourneSSOAutomator.py +8 -15
- scitex/scholar/citation_graph/__init__.py +0 -1
- scitex/scholar/config/core/_PathManager.py +5 -1
- scitex/scholar/config/default.yaml +1 -1
- scitex/scholar/core/Paper.py +19 -41
- scitex/scholar/core/Scholar.py +64 -1688
- scitex/scholar/core/_mixins/__init__.py +36 -0
- scitex/scholar/core/_mixins/_enrichers.py +270 -0
- scitex/scholar/core/_mixins/_library_handlers.py +100 -0
- scitex/scholar/core/_mixins/_loaders.py +103 -0
- scitex/scholar/core/_mixins/_pdf_download.py +375 -0
- scitex/scholar/core/_mixins/_pipeline.py +312 -0
- scitex/scholar/core/_mixins/_project_handlers.py +125 -0
- scitex/scholar/core/_mixins/_savers.py +69 -0
- scitex/scholar/core/_mixins/_search.py +103 -0
- scitex/scholar/core/_mixins/_services.py +88 -0
- scitex/scholar/core/_mixins/_url_finding.py +105 -0
- scitex/scholar/core/journal_normalizer.py +36 -25
- scitex/scholar/crossref_scitex.py +367 -0
- scitex/scholar/docs/EXTERNAL_PACKAGE_BRANDING.md +149 -0
- scitex/scholar/examples/00_run_all.sh +120 -0
- scitex/scholar/examples/07_storage_integration.py +0 -0
- scitex/scholar/impact_factor/estimation/__init__.py +0 -1
- scitex/scholar/impact_factor/jcr/ImpactFactorJCREngine.py +19 -6
- scitex/scholar/impact_factor/jcr/build_database.py +0 -0
- scitex/scholar/jobs/_Job.py +266 -0
- scitex/scholar/jobs/_JobManager.py +458 -0
- scitex/scholar/jobs/__init__.py +74 -0
- scitex/scholar/jobs/_errors.py +346 -0
- scitex/scholar/jobs/_executors.py +397 -0
- scitex/scholar/mcp_server.py +52 -2
- scitex/scholar/pdf_download/ScholarPDFDownloader.py +38 -416
- scitex/scholar/pdf_download/_cli.py +154 -0
- scitex/scholar/pdf_download/strategies/__init__.py +11 -8
- scitex/scholar/pdf_download/strategies/chrome_pdf_viewer.py +11 -11
- scitex/scholar/pdf_download/strategies/manual_download_fallback.py +80 -3
- scitex/scholar/pipelines/ScholarPipelineBibTeX.py +73 -121
- scitex/scholar/pipelines/ScholarPipelineParallel.py +83 -140
- scitex/scholar/pipelines/ScholarPipelineSearchParallel.py +11 -13
- scitex/scholar/pipelines/ScholarPipelineSingle.py +83 -656
- scitex/scholar/pipelines/_single_steps.py +465 -0
- scitex/scholar/storage/BibTeXHandler.py +71 -23
- scitex/scholar/storage/PaperIO.py +53 -18
- scitex/scholar/storage/_BibTeXValidator.py +571 -0
- scitex/scholar/storage/_LibraryManager.py +97 -1695
- scitex/scholar/storage/__init__.py +17 -3
- scitex/scholar/storage/_mixins/__init__.py +30 -0
- scitex/scholar/storage/_mixins/_bibtex_handlers.py +128 -0
- scitex/scholar/storage/_mixins/_library_operations.py +218 -0
- scitex/scholar/storage/_mixins/_metadata_conversion.py +226 -0
- scitex/scholar/storage/_mixins/_paper_saving.py +456 -0
- scitex/scholar/storage/_mixins/_resolution.py +376 -0
- scitex/scholar/storage/_mixins/_storage_helpers.py +121 -0
- scitex/scholar/storage/_mixins/_symlink_handlers.py +226 -0
- scitex/scholar/url_finder/translators/individual/cell_press.py +131 -4
- scitex/security/README.md +3 -3
- scitex/security/__init__.py +0 -1
- scitex/session/README.md +1 -1
- scitex/session/__init__.py +0 -0
- scitex/session/_decorator.py +0 -0
- scitex/session/_lifecycle.py +0 -0
- scitex/sh/README.md +1 -1
- scitex/social/__init__.py +153 -0
- scitex/social/docs/EXTERNAL_PACKAGE_BRANDING.md +149 -0
- scitex/stats/__init__.py +14 -2
- scitex/stats/__main__.py +2 -2
- scitex/stats/_figrecipe_integration.py +116 -0
- scitex/stats/_mcp/__init__.py +4 -0
- scitex/stats/_mcp/handlers.py +1191 -0
- scitex/stats/_mcp/tool_schemas.py +384 -0
- scitex/stats/auto/__init__.py +0 -1
- scitex/stats/correct/_correct_bonferroni.py +0 -0
- scitex/stats/correct/_correct_fdr.py +0 -0
- scitex/stats/correct/_correct_fdr_.py +0 -0
- scitex/stats/correct/_correct_holm.py +0 -0
- scitex/stats/correct/_correct_sidak.py +0 -0
- scitex/stats/effect_sizes/_cliffs_delta.py +0 -0
- scitex/stats/effect_sizes/_cohens_d.py +0 -0
- scitex/stats/effect_sizes/_epsilon_squared.py +0 -0
- scitex/stats/effect_sizes/_eta_squared.py +0 -0
- scitex/stats/effect_sizes/_prob_superiority.py +0 -0
- scitex/stats/mcp_server.py +2 -2
- scitex/stats/posthoc/_dunnett.py +0 -0
- scitex/stats/posthoc/_games_howell.py +0 -0
- scitex/stats/posthoc/_tukey_hsd.py +0 -0
- scitex/stats/power/_power.py +0 -0
- scitex/stats/utils/_effect_size.py +0 -0
- scitex/stats/utils/_formatters.py +0 -0
- scitex/stats/utils/_power.py +0 -0
- scitex/template/README.md +1 -1
- scitex/template/_mcp/__init__.py +4 -0
- scitex/template/_mcp/handlers.py +259 -0
- scitex/template/_mcp/tool_schemas.py +112 -0
- scitex/template/clone_writer_directory.py +6 -6
- scitex/template/mcp_server.py +2 -2
- scitex/ui/__init__.py +173 -0
- scitex/ui/_backends/__init__.py +66 -0
- scitex/ui/_backends/_audio.py +86 -0
- scitex/ui/_backends/_config.py +250 -0
- scitex/ui/_backends/_desktop.py +184 -0
- scitex/ui/_backends/_emacs.py +210 -0
- scitex/ui/_backends/_email.py +78 -0
- scitex/ui/_backends/_matplotlib.py +118 -0
- scitex/ui/_backends/_playwright.py +109 -0
- scitex/ui/_backends/_types.py +58 -0
- scitex/ui/_backends/_webhook.py +77 -0
- scitex/ui/_backends.py +37 -0
- scitex/ui/_mcp/__init__.py +23 -0
- scitex/ui/_mcp/handlers.py +260 -0
- scitex/ui/_mcp/tool_schemas.py +107 -0
- scitex/ui/mcp_server.py +151 -0
- scitex/utils/_email.py +85 -7
- scitex/utils/_notify.py +16 -5
- scitex/utils/_search.py +11 -9
- scitex/utils/_verify_scitex_format.py +0 -0
- scitex/writer/README.md +1 -1
- scitex/writer/Writer.py +110 -111
- scitex/writer/__init__.py +26 -48
- scitex/writer/_clone_writer_project.py +0 -0
- scitex/writer/_compile/__init__.py +5 -4
- scitex/writer/_compile/_compile_async.py +130 -0
- scitex/writer/_compile/_compile_unified.py +148 -0
- scitex/writer/_compile/_runner.py +2 -2
- scitex/writer/_compile/_validator.py +3 -3
- scitex/writer/_compile/manuscript.py +1 -1
- scitex/writer/_compile/revision.py +1 -1
- scitex/writer/_compile/supplementary.py +1 -1
- scitex/writer/_dataclasses/config/_WriterConfig.py +175 -0
- scitex/writer/_dataclasses/contents/_ManuscriptContents.py +236 -0
- scitex/writer/_dataclasses/core/_Document.py +146 -0
- scitex/writer/_dataclasses/core/_DocumentSection.py +546 -0
- scitex/writer/_dataclasses/results/_CompilationResult.py +165 -0
- scitex/writer/_dataclasses/results/_LaTeXIssue.py +102 -0
- scitex/writer/_dataclasses/tree/MINIMUM_FILES.md +121 -0
- scitex/writer/_mcp/__init__.py +4 -0
- scitex/writer/_mcp/handlers.py +32 -0
- scitex/writer/_mcp/tool_schemas.py +33 -0
- scitex/writer/_project/_trees.py +2 -2
- scitex/writer/utils/__init__.py +19 -2
- scitex/writer/utils/_converters.py +635 -0
- scitex/writer/utils/_parse_latex_logs.py +1 -1
- scitex/writer/utils/_verify_tree_structure.py +205 -0
- scitex-2.15.1.dist-info/METADATA +648 -0
- scitex-2.15.1.dist-info/RECORD +2553 -0
- scitex-2.15.1.dist-info/entry_points.txt +12 -0
- scitex/audio/_mcp_handlers.py +0 -256
- scitex/audio/_mcp_tool_schemas.py +0 -203
- scitex/canvas/_mcp_handlers.py +0 -372
- scitex/canvas/_mcp_tool_schemas.py +0 -219
- scitex/canvas/editor/flask_editor/templates/_scripts.py +0 -4933
- scitex/canvas/editor/flask_editor/templates/_styles.py +0 -1658
- scitex/capture/mcp_handlers.py +0 -401
- scitex/capture/mcp_tool_defs.py +0 -192
- scitex/capture/mcp_tools.py +0 -241
- scitex/capture/mcp_utils.py +0 -30
- scitex/cli/scholar.py +0 -313
- scitex/diagram/_compile.py +0 -312
- scitex/diagram/_diagram.py +0 -355
- scitex/diagram/_mcp_handlers.py +0 -400
- scitex/diagram/_mcp_tool_schemas.py +0 -157
- scitex/diagram/_presets.py +0 -173
- scitex/diagram/_schema.py +0 -182
- scitex/diagram/_split.py +0 -278
- scitex/plt/_mcp_handlers.py +0 -361
- scitex/plt/_mcp_tool_schemas.py +0 -169
- scitex/plt/mcp_server.py +0 -205
- scitex/scholar/.legacy/Scholar.py +0 -400
- scitex/scholar/.legacy/_Scholar.py +0 -1763
- scitex/scholar/.legacy/_ScholarAPI.py +0 -316
- scitex/scholar/.legacy/_tmp/search_engine/_BaseSearchEngine.py +0 -101
- scitex/scholar/.legacy/_tmp/search_engine/_UnifiedSearcher.py +0 -392
- scitex/scholar/.legacy/_tmp/search_engine/__init__.py +0 -53
- scitex/scholar/.legacy/_tmp/search_engine/local/_LocalSearchEngine.py +0 -134
- scitex/scholar/.legacy/_tmp/search_engine/local/_VectorSearchEngine.py +0 -129
- scitex/scholar/.legacy/_tmp/search_engine/web/_ArxivSearchEngine.py +0 -279
- scitex/scholar/.legacy/_tmp/search_engine/web/_CrossRefSearchEngine.py +0 -319
- scitex/scholar/.legacy/_tmp/search_engine/web/_GoogleScholarSearchEngine.py +0 -209
- scitex/scholar/.legacy/_tmp/search_engine/web/_PubMedSearchEngine.py +0 -374
- scitex/scholar/.legacy/_tmp/search_engine/web/_SemanticScholarSearchEngine.py +0 -362
- scitex/scholar/.legacy/database/README.md +0 -121
- scitex/scholar/.legacy/database/README_CONCURRENT_ACCESS.md +0 -103
- scitex/scholar/.legacy/database/_DatabaseEntry.py +0 -232
- scitex/scholar/.legacy/database/_DatabaseIndex.py +0 -426
- scitex/scholar/.legacy/database/_LibraryManager.py +0 -276
- scitex/scholar/.legacy/database/_PaperDatabase.py +0 -543
- scitex/scholar/.legacy/database/_ScholarDatabaseIntegration.py +0 -391
- scitex/scholar/.legacy/database/_StorageIntegratedDB.py +0 -619
- scitex/scholar/.legacy/database/_ZoteroCompatibleDB.py +0 -1194
- scitex/scholar/.legacy/database/__init__.py +0 -28
- scitex/scholar/.legacy/database/manage.py +0 -274
- scitex/scholar/.legacy/lookup/_LookupIndex.py +0 -470
- scitex/scholar/.legacy/lookup/__init__.py +0 -22
- scitex/scholar/.legacy/metadata/README.md +0 -62
- scitex/scholar/.legacy/metadata/__init__.py +0 -1
- scitex/scholar/.legacy/metadata/doi/README.md +0 -368
- scitex/scholar/.legacy/metadata/doi/__init__.py +0 -7
- scitex/scholar/.legacy/metadata/doi/batch/_MetadataHandlerForBatchDOIResolution.py +0 -304
- scitex/scholar/.legacy/metadata/doi/batch/_ProgressManagerForBatchDOIResolution.py +0 -304
- scitex/scholar/.legacy/metadata/doi/batch/_SourceStatsManagerForBatchDOIResolution.py +0 -299
- scitex/scholar/.legacy/metadata/doi/batch/__init__.py +0 -26
- scitex/scholar/.legacy/metadata/doi/resolvers/_BatchDOIResolver.py +0 -586
- scitex/scholar/.legacy/metadata/doi/resolvers/_BibTeXDOIResolver.py +0 -609
- scitex/scholar/.legacy/metadata/doi/resolvers/_DOIResolver.py +0 -192
- scitex/scholar/.legacy/metadata/doi/resolvers/_SingleDOIResolver.py +0 -395
- scitex/scholar/.legacy/metadata/doi/resolvers/__init__.py +0 -2
- scitex/scholar/.legacy/metadata/doi/sources/.combined-SemanticScholarSource/_SemanticScholarSource.py +0 -289
- scitex/scholar/.legacy/metadata/doi/sources/.combined-SemanticScholarSource/_SemanticScholarSourceEnhanced.py +0 -229
- scitex/scholar/.legacy/metadata/doi/sources/_ArXivSource.py +0 -306
- scitex/scholar/.legacy/metadata/doi/sources/_BaseDOISource.py +0 -347
- scitex/scholar/.legacy/metadata/doi/sources/_CrossRefLocalSource.py +0 -79
- scitex/scholar/.legacy/metadata/doi/sources/_CrossRefSource.py +0 -225
- scitex/scholar/.legacy/metadata/doi/sources/_OpenAlexSource.py +0 -306
- scitex/scholar/.legacy/metadata/doi/sources/_PubMedSource.py +0 -302
- scitex/scholar/.legacy/metadata/doi/sources/_SemanticScholarSource.py +0 -341
- scitex/scholar/.legacy/metadata/doi/sources/_SourceManager.py +0 -317
- scitex/scholar/.legacy/metadata/doi/sources/_SourceResolutionStrategy.py +0 -595
- scitex/scholar/.legacy/metadata/doi/sources/_SourceRotationManager.py +0 -585
- scitex/scholar/.legacy/metadata/doi/sources/_URLDOISource.py +0 -394
- scitex/scholar/.legacy/metadata/doi/sources/_UnifiedSource.py +0 -412
- scitex/scholar/.legacy/metadata/doi/sources/__init__.py +0 -38
- scitex/scholar/.legacy/metadata/doi/utils/_PubMedConverter.py +0 -465
- scitex/scholar/.legacy/metadata/doi/utils/_RateLimitHandler.py +0 -707
- scitex/scholar/.legacy/metadata/doi/utils/_TextNormalizer.py +0 -587
- scitex/scholar/.legacy/metadata/doi/utils/_URLDOIExtractor.py +0 -278
- scitex/scholar/.legacy/metadata/doi/utils/__init__.py +0 -40
- scitex/scholar/.legacy/metadata/doi/utils/_to_complete_metadata_structure.py +0 -315
- scitex/scholar/.legacy/metadata/enrichment/README.md +0 -51
- scitex/scholar/.legacy/metadata/enrichment/_LibraryEnricher.py +0 -99
- scitex/scholar/.legacy/metadata/enrichment/__init__.py +0 -2
- scitex/scholar/.legacy/metadata/enrichment/enrichers/_ImpactFactorEnricher.py +0 -107
- scitex/scholar/.legacy/metadata/enrichment/enrichers/_SmartEnricher.py +0 -164
- scitex/scholar/.legacy/metadata/enrichment/enrichers/__init__.py +0 -4
- scitex/scholar/.legacy/metadata/enrichment/sources/_UnifiedMetadataSource.py +0 -126
- scitex/scholar/.legacy/metadata/enrichment/sources/__init__.py +0 -3
- scitex/scholar/.legacy/metadata/query_to_full_meta_json.py +0 -184
- scitex/scholar/.legacy/metadata/urls/.tmp/open_url/KNOWN_RESOLVERS.py +0 -462
- scitex/scholar/.legacy/metadata/urls/.tmp/open_url/README.md +0 -223
- scitex/scholar/.legacy/metadata/urls/.tmp/open_url/_DOIToURLResolver.py +0 -694
- scitex/scholar/.legacy/metadata/urls/.tmp/open_url/_OpenURLResolver.py +0 -1160
- scitex/scholar/.legacy/metadata/urls/.tmp/open_url/_ResolverLinkFinder.py +0 -344
- scitex/scholar/.legacy/metadata/urls/.tmp/open_url/__init__.py +0 -24
- scitex/scholar/.legacy/metadata/urls/README.md +0 -142
- scitex/scholar/.legacy/metadata/urls/_URLMetadataHandler.py +0 -383
- scitex/scholar/.legacy/metadata/urls/_ZoteroTranslatorRunner.py +0 -294
- scitex/scholar/.legacy/metadata/urls/__init__.py +0 -39
- scitex/scholar/.legacy/metadata/urls/_finder.py +0 -319
- scitex/scholar/.legacy/metadata/urls/_handler.py +0 -326
- scitex/scholar/.legacy/metadata/urls/_resolver.py +0 -287
- scitex/scholar/.legacy/metadata/urls/docs/CORE_URL_TYPES.md +0 -187
- scitex/scholar/.legacy/metadata/urls/docs/URL_SCHEMA.md +0 -223
- scitex/scholar/.legacy/metadata/urls/zotero_translators/.ci/.eslintrc +0 -11
- scitex/scholar/.legacy/metadata/urls/zotero_translators/.ci/AGPL +0 -22
- scitex/scholar/.legacy/metadata/urls/zotero_translators/.ci/checkDeletedTxt.sh +0 -46
- scitex/scholar/.legacy/metadata/urls/zotero_translators/.ci/eslint-plugin-zotero-translator/bin/teslint.js +0 -9
- scitex/scholar/.legacy/metadata/urls/zotero_translators/.ci/eslint-plugin-zotero-translator/index.js +0 -15
- scitex/scholar/.legacy/metadata/urls/zotero_translators/.ci/eslint-plugin-zotero-translator/package-lock.json +0 -151
- scitex/scholar/.legacy/metadata/urls/zotero_translators/.ci/eslint-plugin-zotero-translator/package.json +0 -21
- scitex/scholar/.legacy/metadata/urls/zotero_translators/.ci/eslint-plugin-zotero-translator/processor.js +0 -257
- scitex/scholar/.legacy/metadata/urls/zotero_translators/.ci/helper.sh +0 -29
- scitex/scholar/.legacy/metadata/urls/zotero_translators/.ci/lint.sh +0 -12
- scitex/scholar/.legacy/metadata/urls/zotero_translators/.ci/pull-request-check/check-pull-request.sh +0 -39
- scitex/scholar/.legacy/metadata/urls/zotero_translators/.ci/pull-request-check/selenium-test.js +0 -147
- scitex/scholar/.legacy/metadata/urls/zotero_translators/.ci/pull-request-check/translator-server.js +0 -72
- scitex/scholar/.legacy/metadata/urls/zotero_translators/.ci/updateTypes.mjs +0 -75
- scitex/scholar/.legacy/metadata/urls/zotero_translators/.editorconfig +0 -8
- scitex/scholar/.legacy/metadata/urls/zotero_translators/.eslintrc +0 -70
- scitex/scholar/.legacy/metadata/urls/zotero_translators/ABC News Australia.js +0 -224
- scitex/scholar/.legacy/metadata/urls/zotero_translators/ACLS Humanities EBook.js +0 -165
- scitex/scholar/.legacy/metadata/urls/zotero_translators/ACLWeb.js +0 -600
- scitex/scholar/.legacy/metadata/urls/zotero_translators/ACM Digital Library.js +0 -710
- scitex/scholar/.legacy/metadata/urls/zotero_translators/ACS Publications.js +0 -633
- scitex/scholar/.legacy/metadata/urls/zotero_translators/ADS Bibcode.js +0 -664
- scitex/scholar/.legacy/metadata/urls/zotero_translators/AEA Web.js +0 -450
- scitex/scholar/.legacy/metadata/urls/zotero_translators/AGRIS.js +0 -311
- scitex/scholar/.legacy/metadata/urls/zotero_translators/AIP.js +0 -295
- scitex/scholar/.legacy/metadata/urls/zotero_translators/AMS Journals.js +0 -136
- scitex/scholar/.legacy/metadata/urls/zotero_translators/AMS MathSciNet (Legacy).js +0 -313
- scitex/scholar/.legacy/metadata/urls/zotero_translators/AMS MathSciNet.js +0 -288
- scitex/scholar/.legacy/metadata/urls/zotero_translators/APA PsycNET.js +0 -915
- scitex/scholar/.legacy/metadata/urls/zotero_translators/APN.ru.js +0 -132
- scitex/scholar/.legacy/metadata/urls/zotero_translators/APS-Physics.js +0 -204
- scitex/scholar/.legacy/metadata/urls/zotero_translators/APS.js +0 -542
- scitex/scholar/.legacy/metadata/urls/zotero_translators/ARTFL Encyclopedie.js +0 -283
- scitex/scholar/.legacy/metadata/urls/zotero_translators/ARTnews.js +0 -155
- scitex/scholar/.legacy/metadata/urls/zotero_translators/ARTstor.js +0 -619
- scitex/scholar/.legacy/metadata/urls/zotero_translators/ASCE.js +0 -199
- scitex/scholar/.legacy/metadata/urls/zotero_translators/ASCO Meeting Library.js +0 -153
- scitex/scholar/.legacy/metadata/urls/zotero_translators/ASTIS.js +0 -337
- scitex/scholar/.legacy/metadata/urls/zotero_translators/ATS International Journal.js +0 -290
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Access Engineering.js +0 -384
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Access Medicine.js +0 -343
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Access Science.js +0 -391
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Adam Matthew Digital.js +0 -405
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Agencia del ISBN.js +0 -77
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Ahval News.js +0 -309
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Air University Journals.js +0 -236
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Airiti.js +0 -423
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Alexander Street Press.js +0 -198
- scitex/scholar/.legacy/metadata/urls/zotero_translators/AllAfrica.js +0 -291
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Alsharekh.js +0 -242
- scitex/scholar/.legacy/metadata/urls/zotero_translators/AlterNet.js +0 -134
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Aluka.js +0 -261
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Amazon.js +0 -1043
- scitex/scholar/.legacy/metadata/urls/zotero_translators/American Archive of Public Broadcasting.js +0 -592
- scitex/scholar/.legacy/metadata/urls/zotero_translators/American Institute of Aeronautics and Astronautics.js +0 -210
- scitex/scholar/.legacy/metadata/urls/zotero_translators/American Prospect.js +0 -114
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Ancestry.com US Federal Census.js +0 -164
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Annual Reviews.js +0 -329
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Antikvarium.hu.js +0 -280
- scitex/scholar/.legacy/metadata/urls/zotero_translators/AquaDocs.js +0 -390
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Archeion.js +0 -249
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Archiv fuer Sozialgeschichte.js +0 -157
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Archive Ouverte en Sciences de l'Information et de la Communication (AOSIC).js +0 -179
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Archives Canada.js +0 -142
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Ariana News.js +0 -203
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Art Institute of Chicago.js +0 -279
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Artefacts Canada.js +0 -192
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Artforum.js +0 -438
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Atlanta Journal-Constitution.js +0 -311
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Atypon Journals.js +0 -1204
- scitex/scholar/.legacy/metadata/urls/zotero_translators/AustLII and NZLII.js +0 -604
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Australian Dictionary of Biography.js +0 -196
- scitex/scholar/.legacy/metadata/urls/zotero_translators/BAILII.js +0 -176
- scitex/scholar/.legacy/metadata/urls/zotero_translators/BBC Genome.js +0 -254
- scitex/scholar/.legacy/metadata/urls/zotero_translators/BBC.js +0 -430
- scitex/scholar/.legacy/metadata/urls/zotero_translators/BIBSYS.js +0 -112
- scitex/scholar/.legacy/metadata/urls/zotero_translators/BOCC.js +0 -217
- scitex/scholar/.legacy/metadata/urls/zotero_translators/BOE.js +0 -229
- scitex/scholar/.legacy/metadata/urls/zotero_translators/BOFiP-Impots.js +0 -132
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Baidu Scholar.js +0 -276
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Bangkok Post.js +0 -216
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Baruch Foundation.js +0 -175
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Beobachter.js +0 -175
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Bezneng Gajit.js +0 -92
- scitex/scholar/.legacy/metadata/urls/zotero_translators/BibLaTeX.js +0 -888
- scitex/scholar/.legacy/metadata/urls/zotero_translators/BibTeX.js +0 -4236
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Biblio.com.js +0 -216
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Bibliontology RDF.js +0 -1166
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Biblioteca Nacional de Maestros.js +0 -213
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Bibliotheque et Archives Nationale du Quebec (Pistard).js +0 -147
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Bibliotheque et Archives Nationales du Quebec.js +0 -266
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Bibliotheque nationale de France.js +0 -872
- scitex/scholar/.legacy/metadata/urls/zotero_translators/BioMed Central.js +0 -585
- scitex/scholar/.legacy/metadata/urls/zotero_translators/BioOne.js +0 -233
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Bioconductor.js +0 -343
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Blaetter.js +0 -192
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Blogger.js +0 -244
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Bloomberg.js +0 -205
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Bloomsbury Food Library.js +0 -296
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Bluesky.js +0 -195
- scitex/scholar/.legacy/metadata/urls/zotero_translators/BnF ISBN.js +0 -129
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Bookmarks.js +0 -282
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Bookshop.org.js +0 -223
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Boston Review.js +0 -332
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Bosworth Toller's Anglo-Saxon Dictionary Online.js +0 -496
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Bracero History Archive.js +0 -200
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Brill.js +0 -434
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Brukerhandboken.js +0 -153
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Bryn Mawr Classical Review.js +0 -303
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Bundesgesetzblatt.js +0 -231
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Business Standard.js +0 -151
- scitex/scholar/.legacy/metadata/urls/zotero_translators/CABI - CAB Abstracts.js +0 -317
- scitex/scholar/.legacy/metadata/urls/zotero_translators/CAOD.js +0 -260
- scitex/scholar/.legacy/metadata/urls/zotero_translators/CBC.js +0 -439
- scitex/scholar/.legacy/metadata/urls/zotero_translators/CCfr (BnF).js +0 -162
- scitex/scholar/.legacy/metadata/urls/zotero_translators/CERN Document Server.js +0 -277
- scitex/scholar/.legacy/metadata/urls/zotero_translators/CEUR Workshop Proceedings.js +0 -145
- scitex/scholar/.legacy/metadata/urls/zotero_translators/CFF References.js +0 -170
- scitex/scholar/.legacy/metadata/urls/zotero_translators/CFF.js +0 -113
- scitex/scholar/.legacy/metadata/urls/zotero_translators/CIA World Factbook.js +0 -128
- scitex/scholar/.legacy/metadata/urls/zotero_translators/CLACSO.js +0 -226
- scitex/scholar/.legacy/metadata/urls/zotero_translators/CLASE.js +0 -135
- scitex/scholar/.legacy/metadata/urls/zotero_translators/CNKI.js +0 -731
- scitex/scholar/.legacy/metadata/urls/zotero_translators/COBISS.js +0 -1945
- scitex/scholar/.legacy/metadata/urls/zotero_translators/COinS.js +0 -336
- scitex/scholar/.legacy/metadata/urls/zotero_translators/CQ Press.js +0 -418
- scitex/scholar/.legacy/metadata/urls/zotero_translators/CROSBI.js +0 -227
- scitex/scholar/.legacy/metadata/urls/zotero_translators/CSIRO Publishing.js +0 -139
- scitex/scholar/.legacy/metadata/urls/zotero_translators/CSL JSON.js +0 -203
- scitex/scholar/.legacy/metadata/urls/zotero_translators/CSV.js +0 -294
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Cairn.info.js +0 -368
- scitex/scholar/.legacy/metadata/urls/zotero_translators/CalMatters.js +0 -228
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Calisphere.js +0 -355
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Camara Brasileira do Livro ISBN.js +0 -842
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Cambridge Core.js +0 -580
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Cambridge Engage Preprints.js +0 -276
- scitex/scholar/.legacy/metadata/urls/zotero_translators/CanLII.js +0 -284
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Canada.com.js +0 -171
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Canadian Letters and Images.js +0 -148
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Canadiana.ca.js +0 -196
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Cascadilla Proceedings Project.js +0 -390
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Cell Press.js +0 -516
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Central and Eastern European Online Library Journals.js +0 -313
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Champlain Society - Collection.js +0 -220
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Chicago Journal of Theoretical Computer Science.js +0 -203
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Christian Science Monitor.js +0 -148
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Chronicling America.js +0 -131
- scitex/scholar/.legacy/metadata/urls/zotero_translators/CiNii Research.js +0 -168
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Citavi 5 XML.js +0 -516
- scitex/scholar/.legacy/metadata/urls/zotero_translators/CiteSeer.js +0 -196
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Citizen Lab.js +0 -347
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Civilization.ca.js +0 -146
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Climate Change and Human Health Literature Portal.js +0 -283
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Clinical Key.js +0 -367
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Code4Lib Journal.js +0 -143
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Colorado State Legislature.js +0 -215
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Columbia University Press.js +0 -238
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Common-Place.js +0 -218
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Computer History Museum Archive.js +0 -1319
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Copernicus.js +0 -461
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Cornell LII.js +0 -252
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Cornell University Press.js +0 -235
- scitex/scholar/.legacy/metadata/urls/zotero_translators/CourtListener.js +0 -265
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Crossref REST.js +0 -1757
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Crossref Unixref XML.js +0 -965
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Current Affairs.js +0 -160
- scitex/scholar/.legacy/metadata/urls/zotero_translators/DABI.js +0 -476
- scitex/scholar/.legacy/metadata/urls/zotero_translators/DAI-Zenon.js +0 -392
- scitex/scholar/.legacy/metadata/urls/zotero_translators/DART-Europe.js +0 -176
- scitex/scholar/.legacy/metadata/urls/zotero_translators/DBLP Computer Science Bibliography.js +0 -462
- scitex/scholar/.legacy/metadata/urls/zotero_translators/DBpia.js +0 -233
- scitex/scholar/.legacy/metadata/urls/zotero_translators/DEPATISnet.js +0 -373
- scitex/scholar/.legacy/metadata/urls/zotero_translators/DOAJ.js +0 -242
- scitex/scholar/.legacy/metadata/urls/zotero_translators/DOI Content Negotiation.js +0 -352
- scitex/scholar/.legacy/metadata/urls/zotero_translators/DOI.js +0 -322
- scitex/scholar/.legacy/metadata/urls/zotero_translators/DPLA.js +0 -425
- scitex/scholar/.legacy/metadata/urls/zotero_translators/DSpace Intermediate Metadata.js +0 -208
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Dagens Nyheter.js +0 -369
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Dagstuhl Research Online Publication Server.js +0 -278
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Dar Almandumah.js +0 -253
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Data.gov.js +0 -225
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Databrary.js +0 -184
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Datacite JSON.js +0 -1182
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Dataverse.js +0 -418
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Daum News.js +0 -139
- scitex/scholar/.legacy/metadata/urls/zotero_translators/De Gruyter Brill.js +0 -674
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Defense Technical Information Center.js +0 -146
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Delpher.js +0 -413
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Demographic Research.js +0 -164
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Denik CZ.js +0 -273
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Der Freitag.js +0 -236
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Der Spiegel.js +0 -479
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Desiring God.js +0 -216
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Deutsche Fotothek.js +0 -364
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Deutsche Nationalbibliothek.js +0 -594
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Dialnet.js +0 -258
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Die Zeit.js +0 -378
- scitex/scholar/.legacy/metadata/urls/zotero_translators/DigiZeitschriften.js +0 -269
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Digital Humanities Quarterly.js +0 -207
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Digital Spy.js +0 -215
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Dimensions.js +0 -233
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Douban.js +0 -316
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Dreier Neuerscheinungsdienst.js +0 -209
- scitex/scholar/.legacy/metadata/urls/zotero_translators/DrugBank.ca.js +0 -209
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Dryad Digital Repository.js +0 -323
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Duke University Press Books.js +0 -250
- scitex/scholar/.legacy/metadata/urls/zotero_translators/E-periodica Switzerland.js +0 -347
- scitex/scholar/.legacy/metadata/urls/zotero_translators/EBSCO Discovery Layer.js +0 -147
- scitex/scholar/.legacy/metadata/urls/zotero_translators/EBSCOhost.js +0 -592
- scitex/scholar/.legacy/metadata/urls/zotero_translators/EIDR.js +0 -184
- scitex/scholar/.legacy/metadata/urls/zotero_translators/EPA National Library Catalog.js +0 -245
- scitex/scholar/.legacy/metadata/urls/zotero_translators/ERIC.js +0 -986
- scitex/scholar/.legacy/metadata/urls/zotero_translators/ESpacenet.js +0 -465
- scitex/scholar/.legacy/metadata/urls/zotero_translators/EUR-Lex.js +0 -423
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Eastview.js +0 -336
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Edinburgh University Press Journals.js +0 -178
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Education Week.js +0 -197
- scitex/scholar/.legacy/metadata/urls/zotero_translators/El Comercio (Peru).js +0 -347
- scitex/scholar/.legacy/metadata/urls/zotero_translators/El Pais.js +0 -262
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Electronic Colloquium on Computational Complexity.js +0 -230
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Elicit.js +0 -120
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Elsevier Health Journals.js +0 -531
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Elsevier Pure.js +0 -420
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Embedded Metadata.js +0 -1951
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Emerald Insight.js +0 -626
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Encyclopedia of Chicago.js +0 -162
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Encyclopedia of Korean Culture.js +0 -221
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Endnote XML.js +0 -1407
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Engineering Village.js +0 -139
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Envidat.js +0 -331
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Epicurious.js +0 -144
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Erudit.js +0 -272
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Euclid.js +0 -220
- scitex/scholar/.legacy/metadata/urls/zotero_translators/EurasiaNet.js +0 -109
- scitex/scholar/.legacy/metadata/urls/zotero_translators/EurogamerUSgamer.js +0 -380
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Europe PMC.js +0 -448
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Evernote.js +0 -104
- scitex/scholar/.legacy/metadata/urls/zotero_translators/F1000 Research.js +0 -655
- scitex/scholar/.legacy/metadata/urls/zotero_translators/FAO Publications.js +0 -1139
- scitex/scholar/.legacy/metadata/urls/zotero_translators/FAZ.NET.js +0 -231
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Fachportal Padagogik.js +0 -839
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Factiva.js +0 -302
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Failed Architecture.js +0 -114
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Fairfax Australia.js +0 -200
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Fatcat.js +0 -425
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Figshare.js +0 -191
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Financial Times.js +0 -187
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Finna.js +0 -357
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Flickr.js +0 -318
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Foreign Affairs.js +0 -485
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Foreign Policy.js +0 -146
- scitex/scholar/.legacy/metadata/urls/zotero_translators/FreeCite.js +0 -95
- scitex/scholar/.legacy/metadata/urls/zotero_translators/FreePatentsOnline.js +0 -265
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Frieze.js +0 -243
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Frontiers.js +0 -667
- scitex/scholar/.legacy/metadata/urls/zotero_translators/GMS German Medical Science.js +0 -319
- scitex/scholar/.legacy/metadata/urls/zotero_translators/GPO Access e-CFR.js +0 -134
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Gale Databases.js +0 -324
- scitex/scholar/.legacy/metadata/urls/zotero_translators/GaleGDC.js +0 -189
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Galegroup.js +0 -327
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Gallica.js +0 -194
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Game Studies.js +0 -155
- scitex/scholar/.legacy/metadata/urls/zotero_translators/GameSpot.js +0 -199
- scitex/scholar/.legacy/metadata/urls/zotero_translators/GameStar GamePro.js +0 -198
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Gasyrlar Awazy.js +0 -156
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Gemeinsamer Bibliotheksverbund ISBN.js +0 -23
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Gene Ontology.js +0 -128
- scitex/scholar/.legacy/metadata/urls/zotero_translators/GitHub.js +0 -501
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Globes.js +0 -243
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Gmail.js +0 -64
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Goodreads.js +0 -219
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Google Books.js +0 -552
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Google Patents.js +0 -959
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Google Play.js +0 -186
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Google Presentation.js +0 -104
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Google Research.js +0 -221
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Google Scholar.js +0 -1361
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Gulag Many Days, Many Lives.js +0 -179
- scitex/scholar/.legacy/metadata/urls/zotero_translators/HAL Archives Ouvertes.js +0 -429
- scitex/scholar/.legacy/metadata/urls/zotero_translators/HCSP.js +0 -312
- scitex/scholar/.legacy/metadata/urls/zotero_translators/HUDOC.js +0 -650
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Haaretz.js +0 -562
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Habr.js +0 -232
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Handelszeitung.js +0 -273
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Hanrei Watch.js +0 -123
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Harper's Magazine.js +0 -365
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Harvard Business Review.js +0 -326
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Harvard Caselaw Access Project.js +0 -244
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Harvard University Press Books.js +0 -286
- scitex/scholar/.legacy/metadata/urls/zotero_translators/HathiTrust.js +0 -311
- scitex/scholar/.legacy/metadata/urls/zotero_translators/HeinOnline.js +0 -266
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Heise.js +0 -200
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Herder.js +0 -236
- scitex/scholar/.legacy/metadata/urls/zotero_translators/HighBeam.js +0 -198
- scitex/scholar/.legacy/metadata/urls/zotero_translators/HighWire 2.0.js +0 -1355
- scitex/scholar/.legacy/metadata/urls/zotero_translators/HighWire.js +0 -209
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Hindawi Publishers.js +0 -177
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Hispanic-American Periodical Index.js +0 -236
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Homeland Security Digital Library.js +0 -426
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Huff Post.js +0 -223
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Human Rights Watch.js +0 -450
- scitex/scholar/.legacy/metadata/urls/zotero_translators/IBISWorld.js +0 -171
- scitex/scholar/.legacy/metadata/urls/zotero_translators/IDEA ALM.js +0 -536
- scitex/scholar/.legacy/metadata/urls/zotero_translators/IEEE Computer Society.js +0 -429
- scitex/scholar/.legacy/metadata/urls/zotero_translators/IEEE Xplore.js +0 -1000
- scitex/scholar/.legacy/metadata/urls/zotero_translators/IETF.js +0 -451
- scitex/scholar/.legacy/metadata/urls/zotero_translators/IGN.js +0 -136
- scitex/scholar/.legacy/metadata/urls/zotero_translators/IMDb.js +0 -566
- scitex/scholar/.legacy/metadata/urls/zotero_translators/INSPIRE.js +0 -247
- scitex/scholar/.legacy/metadata/urls/zotero_translators/IPCC.js +0 -757
- scitex/scholar/.legacy/metadata/urls/zotero_translators/ISTC.js +0 -181
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Idref.js +0 -179
- scitex/scholar/.legacy/metadata/urls/zotero_translators/In These Times.js +0 -196
- scitex/scholar/.legacy/metadata/urls/zotero_translators/InfoTrac.js +0 -279
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Informationssystem Medienpaedagogik.js +0 -305
- scitex/scholar/.legacy/metadata/urls/zotero_translators/IngentaConnect.js +0 -312
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Inside Higher Ed.js +0 -167
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Insignia OPAC.js +0 -114
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Institute of Contemporary Art.js +0 -180
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Institute of Physics.js +0 -340
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Integrum.js +0 -173
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Intellixir.js +0 -264
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Inter-Research Science Center.js +0 -185
- scitex/scholar/.legacy/metadata/urls/zotero_translators/International Nuclear Information System.js +0 -285
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Internet Archive Scholar.js +0 -106
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Internet Archive Wayback Machine.js +0 -152
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Internet Archive.js +0 -552
- scitex/scholar/.legacy/metadata/urls/zotero_translators/InvenioRDM.js +0 -1260
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Isidore.js +0 -235
- scitex/scholar/.legacy/metadata/urls/zotero_translators/J-Stage.js +0 -272
- scitex/scholar/.legacy/metadata/urls/zotero_translators/JETS.js +0 -122
- scitex/scholar/.legacy/metadata/urls/zotero_translators/JISC Historical Texts.js +0 -273
- scitex/scholar/.legacy/metadata/urls/zotero_translators/JRC Publications Repository.js +0 -569
- scitex/scholar/.legacy/metadata/urls/zotero_translators/JSTOR.js +0 -821
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Jahrbuch.js +0 -213
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Japan Times Online.js +0 -138
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Journal of Electronic Publishing.js +0 -147
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Journal of Extension.js +0 -288
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Journal of Machine Learning Research.js +0 -441
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Journal of Religion and Society.js +0 -174
- scitex/scholar/.legacy/metadata/urls/zotero_translators/JurPC.js +0 -274
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Juricaf.js +0 -141
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Juris.js +0 -728
- scitex/scholar/.legacy/metadata/urls/zotero_translators/K10plus ISBN.js +0 -386
- scitex/scholar/.legacy/metadata/urls/zotero_translators/KStudy.js +0 -632
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Kanopy.js +0 -358
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Khaama Press.js +0 -249
- scitex/scholar/.legacy/metadata/urls/zotero_translators/KitapYurdu.com.js +0 -376
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Kommersant.js +0 -174
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Korean National Library.js +0 -621
- scitex/scholar/.legacy/metadata/urls/zotero_translators/L'Annee Philologique.js +0 -267
- scitex/scholar/.legacy/metadata/urls/zotero_translators/LA Times.js +0 -239
- scitex/scholar/.legacy/metadata/urls/zotero_translators/LIBRIS ISBN.js +0 -103
- scitex/scholar/.legacy/metadata/urls/zotero_translators/LIVIVO.js +0 -260
- scitex/scholar/.legacy/metadata/urls/zotero_translators/LWN.net.js +0 -315
- scitex/scholar/.legacy/metadata/urls/zotero_translators/La Croix.js +0 -237
- scitex/scholar/.legacy/metadata/urls/zotero_translators/La Nacion (Argentina).js +0 -231
- scitex/scholar/.legacy/metadata/urls/zotero_translators/La Presse.js +0 -218
- scitex/scholar/.legacy/metadata/urls/zotero_translators/La Republica (Peru).js +0 -174
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Lagen.nu.js +0 -214
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Landesbibliographie Baden-Wurttemberg.js +0 -324
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Lapham's Quarterly.js +0 -1062
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Le Devoir.js +0 -167
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Le Figaro.js +0 -225
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Le Maitron.js +0 -484
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Le Monde.js +0 -258
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Le monde diplomatique.js +0 -200
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Legifrance.js +0 -641
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Legislative Insight.js +0 -406
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Lexis+.js +0 -264
- scitex/scholar/.legacy/metadata/urls/zotero_translators/LexisNexis.js +0 -505
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Libraries Tasmania.js +0 -778
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Library Catalog (Aleph).js +0 -385
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Library Catalog (Amicus).js +0 -254
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Library Catalog (Aquabrowser).js +0 -253
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Library Catalog (BiblioCommons).js +0 -249
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Library Catalog (Blacklight).js +0 -341
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Library Catalog (Capita Prism).js +0 -162
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Library Catalog (DRA).js +0 -203
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Library Catalog (Dynix).js +0 -315
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Library Catalog (Encore).js +0 -211
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Library Catalog (InnoPAC).js +0 -305
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Library Catalog (Koha).js +0 -225
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Library Catalog (Mango).js +0 -285
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Library Catalog (OPALS).js +0 -200
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Library Catalog (PICA).js +0 -2120
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Library Catalog (PICA2).js +0 -331
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Library Catalog (Pika).js +0 -488
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Library Catalog (Polaris).js +0 -183
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Library Catalog (Quolto).js +0 -320
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Library Catalog (RERO ILS).js +0 -754
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Library Catalog (SIRSI eLibrary).js +0 -407
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Library Catalog (SIRSI).js +0 -452
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Library Catalog (SLIMS).js +0 -146
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Library Catalog (TIND ILS).js +0 -773
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Library Catalog (TLCYouSeeMore).js +0 -132
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Library Catalog (TinREAD).js +0 -277
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Library Catalog (VTLS).js +0 -125
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Library Catalog (Visual Library 2021).js +0 -765
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Library Catalog (Voyager 7).js +0 -199
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Library Catalog (Voyager).js +0 -212
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Library Genesis.js +0 -337
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Library Hub Discover.js +0 -359
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Library of Congress Digital Collections.js +0 -869
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Library of Congress ISBN.js +0 -86
- scitex/scholar/.legacy/metadata/urls/zotero_translators/LingBuzz.js +0 -359
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Lippincott Williams and Wilkins.js +0 -341
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Literary Hub.js +0 -950
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Litres.js +0 -236
- scitex/scholar/.legacy/metadata/urls/zotero_translators/LiveJournal.js +0 -219
- scitex/scholar/.legacy/metadata/urls/zotero_translators/London Review of Books.js +0 -291
- scitex/scholar/.legacy/metadata/urls/zotero_translators/LookUs.js +0 -260
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Lulu.js +0 -264
- scitex/scholar/.legacy/metadata/urls/zotero_translators/MAB2.js +0 -373
- scitex/scholar/.legacy/metadata/urls/zotero_translators/MARC.js +0 -1080
- scitex/scholar/.legacy/metadata/urls/zotero_translators/MARCXML.js +0 -489
- scitex/scholar/.legacy/metadata/urls/zotero_translators/MCV.js +0 -258
- scitex/scholar/.legacy/metadata/urls/zotero_translators/MDPI Journals.js +0 -356
- scitex/scholar/.legacy/metadata/urls/zotero_translators/MEDLINEnbib.js +0 -1561
- scitex/scholar/.legacy/metadata/urls/zotero_translators/METS.js +0 -384
- scitex/scholar/.legacy/metadata/urls/zotero_translators/MIDAS Journals.js +0 -343
- scitex/scholar/.legacy/metadata/urls/zotero_translators/MIT Press Books.js +0 -637
- scitex/scholar/.legacy/metadata/urls/zotero_translators/MODS.js +0 -2545
- scitex/scholar/.legacy/metadata/urls/zotero_translators/MPG PuRe.js +0 -541
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Mailman.js +0 -136
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Mainichi Daily News.js +0 -189
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Mastodon.js +0 -198
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Matbugat.ru.js +0 -110
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Max Planck Institute for the History of Science Virtual Laboratory Library.js +0 -136
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Medium.js +0 -208
- scitex/scholar/.legacy/metadata/urls/zotero_translators/MetaLib.js +0 -126
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Microbiology Society Journals.js +0 -343
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Microsoft Academic.js +0 -424
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Mikromarc.js +0 -207
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Milli Kutuphane.js +0 -244
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Musee du Louvre.js +0 -265
- scitex/scholar/.legacy/metadata/urls/zotero_translators/NASA ADS.js +0 -889
- scitex/scholar/.legacy/metadata/urls/zotero_translators/NASA NTRS.js +0 -610
- scitex/scholar/.legacy/metadata/urls/zotero_translators/NCBI Nucleotide.js +0 -227
- scitex/scholar/.legacy/metadata/urls/zotero_translators/NPR.js +0 -341
- scitex/scholar/.legacy/metadata/urls/zotero_translators/NRC Research Press.js +0 -181
- scitex/scholar/.legacy/metadata/urls/zotero_translators/NRC.nl.js +0 -226
- scitex/scholar/.legacy/metadata/urls/zotero_translators/NTSB Accident Reports.js +0 -226
- scitex/scholar/.legacy/metadata/urls/zotero_translators/NYPL Menus.js +0 -275
- scitex/scholar/.legacy/metadata/urls/zotero_translators/NYPL Research Catalog.js +0 -458
- scitex/scholar/.legacy/metadata/urls/zotero_translators/NYTimes.com.js +0 -858
- scitex/scholar/.legacy/metadata/urls/zotero_translators/NZZ.ch.js +0 -272
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Nagoya University OPAC.js +0 -336
- scitex/scholar/.legacy/metadata/urls/zotero_translators/National Academies Press.js +0 -243
- scitex/scholar/.legacy/metadata/urls/zotero_translators/National Agriculture Library.js +0 -524
- scitex/scholar/.legacy/metadata/urls/zotero_translators/National Archives of Australia.js +0 -522
- scitex/scholar/.legacy/metadata/urls/zotero_translators/National Archives of South Africa.js +0 -122
- scitex/scholar/.legacy/metadata/urls/zotero_translators/National Bureau of Economic Research.js +0 -363
- scitex/scholar/.legacy/metadata/urls/zotero_translators/National Diet Library Catalogue.js +0 -333
- scitex/scholar/.legacy/metadata/urls/zotero_translators/National Gallery of Art - USA.js +0 -149
- scitex/scholar/.legacy/metadata/urls/zotero_translators/National Gallery of Australia.js +0 -252
- scitex/scholar/.legacy/metadata/urls/zotero_translators/National Library of Australia (new catalog).js +0 -223
- scitex/scholar/.legacy/metadata/urls/zotero_translators/National Library of Belarus.js +0 -171
- scitex/scholar/.legacy/metadata/urls/zotero_translators/National Library of Norway.js +0 -310
- scitex/scholar/.legacy/metadata/urls/zotero_translators/National Library of Poland ISBN.js +0 -140
- scitex/scholar/.legacy/metadata/urls/zotero_translators/National Post.js +0 -186
- scitex/scholar/.legacy/metadata/urls/zotero_translators/National Technical Reports Library.js +0 -276
- scitex/scholar/.legacy/metadata/urls/zotero_translators/National Transportation Library ROSA P.js +0 -562
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Nature Publishing Group.js +0 -3394
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Neural Information Processing Systems.js +0 -385
- scitex/scholar/.legacy/metadata/urls/zotero_translators/New Left Review.js +0 -245
- scitex/scholar/.legacy/metadata/urls/zotero_translators/New Zealand Herald.js +0 -282
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Newlines Magazine.js +0 -190
- scitex/scholar/.legacy/metadata/urls/zotero_translators/News Corp Australia.js +0 -251
- scitex/scholar/.legacy/metadata/urls/zotero_translators/NewsBank.js +0 -202
- scitex/scholar/.legacy/metadata/urls/zotero_translators/NewsnetTamedia.js +0 -509
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Noor Digital Library.js +0 -267
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Note HTML.js +0 -206
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Note Markdown.js +0 -1638
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Notre Dame Philosophical Reviews.js +0 -201
- scitex/scholar/.legacy/metadata/urls/zotero_translators/OAPEN.js +0 -331
- scitex/scholar/.legacy/metadata/urls/zotero_translators/OCLC WorldCat FirstSearch.js +0 -213
- scitex/scholar/.legacy/metadata/urls/zotero_translators/OECD.js +0 -216
- scitex/scholar/.legacy/metadata/urls/zotero_translators/ORCID.js +0 -104
- scitex/scholar/.legacy/metadata/urls/zotero_translators/OSF Preprints.js +0 -417
- scitex/scholar/.legacy/metadata/urls/zotero_translators/OSTI Energy Citations.js +0 -202
- scitex/scholar/.legacy/metadata/urls/zotero_translators/OVID Tagged.js +0 -1226
- scitex/scholar/.legacy/metadata/urls/zotero_translators/OZON.ru.js +0 -465
- scitex/scholar/.legacy/metadata/urls/zotero_translators/OhioLINK.js +0 -43
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Old Bailey Online.js +0 -315
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Open Conf.js +0 -172
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Open Knowledge Repository.js +0 -811
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Open WorldCat.js +0 -1401
- scitex/scholar/.legacy/metadata/urls/zotero_translators/OpenAlex JSON.js +0 -740
- scitex/scholar/.legacy/metadata/urls/zotero_translators/OpenAlex.js +0 -444
- scitex/scholar/.legacy/metadata/urls/zotero_translators/OpenEdition Books.js +0 -155
- scitex/scholar/.legacy/metadata/urls/zotero_translators/OpenEdition Journals.js +0 -432
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Optical Society of America.js +0 -562
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Optimization Online.js +0 -418
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Ovid.js +0 -302
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Oxford Dictionaries Premium.js +0 -194
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Oxford English Dictionary.js +0 -122
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Oxford Music and Art Online.js +0 -120
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Oxford Reference.js +0 -202
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Oxford University Press.js +0 -277
- scitex/scholar/.legacy/metadata/urls/zotero_translators/PC Gamer.js +0 -302
- scitex/scholar/.legacy/metadata/urls/zotero_translators/PC Games.js +0 -128
- scitex/scholar/.legacy/metadata/urls/zotero_translators/PEI Archival Information Network.js +0 -242
- scitex/scholar/.legacy/metadata/urls/zotero_translators/PEP Web.js +0 -165
- scitex/scholar/.legacy/metadata/urls/zotero_translators/PKP Catalog Systems.js +0 -1455
- scitex/scholar/.legacy/metadata/urls/zotero_translators/PLoS Journals.js +0 -284
- scitex/scholar/.legacy/metadata/urls/zotero_translators/PRC History Review.js +0 -298
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Pajhwok Afghan News.js +0 -198
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Papers Past.js +0 -297
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Paris Review.js +0 -227
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Pastebin.js +0 -199
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Patents - USPTO.js +0 -210
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Peeters.js +0 -587
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Perceiving Systems.js +0 -350
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Perlego.js +0 -416
- scitex/scholar/.legacy/metadata/urls/zotero_translators/PhilPapers.js +0 -249
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Philosopher's Imprint.js +0 -169
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Pleade.js +0 -329
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Polygon.js +0 -270
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Potsdamer Neueste Nachrichten.js +0 -188
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Preprints.org.js +0 -305
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Primo 2018.js +0 -126
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Primo Normalized XML.js +0 -987
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Primo.js +0 -322
- scitex/scholar/.legacy/metadata/urls/zotero_translators/ProMED.js +0 -66
- scitex/scholar/.legacy/metadata/urls/zotero_translators/ProQuest Ebook Central.js +0 -226
- scitex/scholar/.legacy/metadata/urls/zotero_translators/ProQuest PolicyFile.js +0 -115
- scitex/scholar/.legacy/metadata/urls/zotero_translators/ProQuest.js +0 -2210
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Probing the Past.js +0 -151
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Project Gutenberg.js +0 -191
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Project MUSE.js +0 -451
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Protein Data Bank.js +0 -445
- scitex/scholar/.legacy/metadata/urls/zotero_translators/PubFactory Journals.js +0 -712
- scitex/scholar/.legacy/metadata/urls/zotero_translators/PubMed Central.js +0 -577
- scitex/scholar/.legacy/metadata/urls/zotero_translators/PubMed XML.js +0 -1139
- scitex/scholar/.legacy/metadata/urls/zotero_translators/PubMed.js +0 -1317
- scitex/scholar/.legacy/metadata/urls/zotero_translators/PubPub.js +0 -530
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Public Record Office Victoria.js +0 -252
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Publications Office of the European Union.js +0 -540
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Publications du Quebec.js +0 -225
- scitex/scholar/.legacy/metadata/urls/zotero_translators/PyPI.js +0 -288
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Qatar Digital Library.js +0 -802
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Queensland State Archives.js +0 -303
- scitex/scholar/.legacy/metadata/urls/zotero_translators/R-Packages.js +0 -410
- scitex/scholar/.legacy/metadata/urls/zotero_translators/RAND.js +0 -283
- scitex/scholar/.legacy/metadata/urls/zotero_translators/RDF.js +0 -1777
- scitex/scholar/.legacy/metadata/urls/zotero_translators/REDALYC.js +0 -196
- scitex/scholar/.legacy/metadata/urls/zotero_translators/RIS.js +0 -7265
- scitex/scholar/.legacy/metadata/urls/zotero_translators/RSC Publishing.js +0 -250
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Radio Free Europe Radio Liberty.js +0 -706
- scitex/scholar/.legacy/metadata/urls/zotero_translators/RePEc - Econpapers.js +0 -725
- scitex/scholar/.legacy/metadata/urls/zotero_translators/RePEc - IDEAS.js +0 -337
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Rechtspraak.nl.js +0 -295
- scitex/scholar/.legacy/metadata/urls/zotero_translators/RefWorks Tagged.js +0 -1185
- scitex/scholar/.legacy/metadata/urls/zotero_translators/ReferBibIX.js +0 -463
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Regeringskansliet.js +0 -89
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Research Square.js +0 -335
- scitex/scholar/.legacy/metadata/urls/zotero_translators/ResearchGate.js +0 -394
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Retsinformation.js +0 -348
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Reuters.js +0 -255
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Rock, Paper, Shotgun.js +0 -304
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Roll Call.js +0 -173
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Russian State Library.js +0 -1517
- scitex/scholar/.legacy/metadata/urls/zotero_translators/SAE Papers.js +0 -241
- scitex/scholar/.legacy/metadata/urls/zotero_translators/SAGE Journals.js +0 -427
- scitex/scholar/.legacy/metadata/urls/zotero_translators/SAGE Knowledge.js +0 -505
- scitex/scholar/.legacy/metadata/urls/zotero_translators/SAILDART.js +0 -364
- scitex/scholar/.legacy/metadata/urls/zotero_translators/SALT Research Archives.js +0 -196
- scitex/scholar/.legacy/metadata/urls/zotero_translators/SFU IPinCH.js +0 -946
- scitex/scholar/.legacy/metadata/urls/zotero_translators/SIPRI.js +0 -256
- scitex/scholar/.legacy/metadata/urls/zotero_translators/SIRS Knowledge Source.js +0 -546
- scitex/scholar/.legacy/metadata/urls/zotero_translators/SLUB Dresden.js +0 -300
- scitex/scholar/.legacy/metadata/urls/zotero_translators/SORA.js +0 -340
- scitex/scholar/.legacy/metadata/urls/zotero_translators/SSOAR.js +0 -399
- scitex/scholar/.legacy/metadata/urls/zotero_translators/SSRN.js +0 -235
- scitex/scholar/.legacy/metadata/urls/zotero_translators/SVT Nyheter.js +0 -381
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Sacramento Bee.js +0 -274
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Safari Books Online.js +0 -391
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Scholars Portal Journals.js +0 -220
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Scholia.js +0 -189
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Schweizer Radio und Fernsehen SRF.js +0 -152
- scitex/scholar/.legacy/metadata/urls/zotero_translators/SciELO.js +0 -440
- scitex/scholar/.legacy/metadata/urls/zotero_translators/ScienceDirect.js +0 -1304
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Scopus.js +0 -418
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Semantic Scholar.js +0 -513
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Silverchair.js +0 -886
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Slate.js +0 -228
- scitex/scholar/.legacy/metadata/urls/zotero_translators/SlideShare.js +0 -112
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Springer Link.js +0 -696
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Stack Exchange.js +0 -134
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Standard Ebooks.js +0 -198
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Stanford Encyclopedia of Philosophy.js +0 -285
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Stanford University Press.js +0 -343
- scitex/scholar/.legacy/metadata/urls/zotero_translators/State Records Office of Western Australia.js +0 -439
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Stitcher.js +0 -141
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Store norske leksikon.js +0 -291
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Stuff.co.nz.js +0 -446
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Substack.js +0 -237
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Sud Ouest.js +0 -181
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Sueddeutsche.de.js +0 -205
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Summon 2.js +0 -117
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Superlib.js +0 -647
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Svenska Dagbladet.js +0 -274
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Sveriges radio.js +0 -416
- scitex/scholar/.legacy/metadata/urls/zotero_translators/TEI.js +0 -648
- scitex/scholar/.legacy/metadata/urls/zotero_translators/TV by the Numbers.js +0 -194
- scitex/scholar/.legacy/metadata/urls/zotero_translators/TVNZ.js +0 -165
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Tagesspiegel.js +0 -249
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Talis Aspire.js +0 -316
- scitex/scholar/.legacy/metadata/urls/zotero_translators/TalisPrism.js +0 -445
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Tatknigafund.js +0 -174
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Tatpressa.ru.js +0 -121
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Taylor & Francis eBooks.js +0 -334
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Taylor and Francis+NEJM.js +0 -813
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Tesis Doctorals en Xarxa.js +0 -233
- scitex/scholar/.legacy/metadata/urls/zotero_translators/The Art Newspaper.js +0 -268
- scitex/scholar/.legacy/metadata/urls/zotero_translators/The Atlantic.js +0 -535
- scitex/scholar/.legacy/metadata/urls/zotero_translators/The Boston Globe.js +0 -285
- scitex/scholar/.legacy/metadata/urls/zotero_translators/The Chronicle of Higher Education.js +0 -308
- scitex/scholar/.legacy/metadata/urls/zotero_translators/The Daily Beast.js +0 -183
- scitex/scholar/.legacy/metadata/urls/zotero_translators/The Economic Times - The Times of India.js +0 -305
- scitex/scholar/.legacy/metadata/urls/zotero_translators/The Economist.js +0 -207
- scitex/scholar/.legacy/metadata/urls/zotero_translators/The Free Dictionary.js +0 -58
- scitex/scholar/.legacy/metadata/urls/zotero_translators/The Globe and Mail.js +0 -241
- scitex/scholar/.legacy/metadata/urls/zotero_translators/The Guardian.js +0 -717
- scitex/scholar/.legacy/metadata/urls/zotero_translators/The Hamilton Spectator.js +0 -129
- scitex/scholar/.legacy/metadata/urls/zotero_translators/The Hindu.js +0 -318
- scitex/scholar/.legacy/metadata/urls/zotero_translators/The Independent.js +0 -184
- scitex/scholar/.legacy/metadata/urls/zotero_translators/The Intercept.js +0 -258
- scitex/scholar/.legacy/metadata/urls/zotero_translators/The Met.js +0 -300
- scitex/scholar/.legacy/metadata/urls/zotero_translators/The Microfinance Gateway.js +0 -174
- scitex/scholar/.legacy/metadata/urls/zotero_translators/The Nation.js +0 -188
- scitex/scholar/.legacy/metadata/urls/zotero_translators/The National Archives (UK).js +0 -242
- scitex/scholar/.legacy/metadata/urls/zotero_translators/The New Republic.js +0 -160
- scitex/scholar/.legacy/metadata/urls/zotero_translators/The New York Review of Books.js +0 -467
- scitex/scholar/.legacy/metadata/urls/zotero_translators/The New Yorker.js +0 -360
- scitex/scholar/.legacy/metadata/urls/zotero_translators/The Open Library.js +0 -220
- scitex/scholar/.legacy/metadata/urls/zotero_translators/The Straits Times.js +0 -528
- scitex/scholar/.legacy/metadata/urls/zotero_translators/The Telegraph.js +0 -337
- scitex/scholar/.legacy/metadata/urls/zotero_translators/The Times and Sunday Times.js +0 -180
- scitex/scholar/.legacy/metadata/urls/zotero_translators/The Times of Israel.js +0 -151
- scitex/scholar/.legacy/metadata/urls/zotero_translators/TheMarker.js +0 -108
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Theory of Computing.js +0 -488
- scitex/scholar/.legacy/metadata/urls/zotero_translators/ThesesFR.js +0 -298
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Thieme.js +0 -326
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Time.com.js +0 -557
- scitex/scholar/.legacy/metadata/urls/zotero_translators/TimesMachine.js +0 -222
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Tony Blair Institute for Global Change.js +0 -195
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Toronto Star.js +0 -331
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Transportation Research Board.js +0 -253
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Treesearch.js +0 -535
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Trove.js +0 -616
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Tumblr.js +0 -179
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Twitter.js +0 -413
- scitex/scholar/.legacy/metadata/urls/zotero_translators/UChicago VuFind.js +0 -907
- scitex/scholar/.legacy/metadata/urls/zotero_translators/UNZ Print Archive.js +0 -276
- scitex/scholar/.legacy/metadata/urls/zotero_translators/UPCommons.js +0 -227
- scitex/scholar/.legacy/metadata/urls/zotero_translators/US National Archives Research Catalog.js +0 -275
- scitex/scholar/.legacy/metadata/urls/zotero_translators/USENIX.js +0 -151
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Ubiquity Journals.js +0 -228
- scitex/scholar/.legacy/metadata/urls/zotero_translators/University Press Scholarship.js +0 -301
- scitex/scholar/.legacy/metadata/urls/zotero_translators/University of California Press Books.js +0 -403
- scitex/scholar/.legacy/metadata/urls/zotero_translators/University of Chicago Press Books.js +0 -378
- scitex/scholar/.legacy/metadata/urls/zotero_translators/University of Wisconsin-Madison Libraries Catalog.js +0 -298
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Unqualified Dublin Core RDF.js +0 -153
- scitex/scholar/.legacy/metadata/urls/zotero_translators/UpToDate References.js +0 -203
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Vanity Fair.js +0 -242
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Verniana-Jules Verne Studies.js +0 -190
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Verso Books.js +0 -311
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Vice.js +0 -445
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Victoria & Albert Museum.js +0 -277
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Vimeo.js +0 -188
- scitex/scholar/.legacy/metadata/urls/zotero_translators/VoxEU.js +0 -151
- scitex/scholar/.legacy/metadata/urls/zotero_translators/WHO.js +0 -458
- scitex/scholar/.legacy/metadata/urls/zotero_translators/WIPO.js +0 -189
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Wall Street Journal.js +0 -525
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Wanfang Data.js +0 -310
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Washington Monthly.js +0 -195
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Washington Post.js +0 -447
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Web of Science Nextgen.js +0 -715
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Web of Science Tagged.js +0 -1242
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Web of Science.js +0 -228
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Welt Online.js +0 -161
- scitex/scholar/.legacy/metadata/urls/zotero_translators/WestLaw UK.js +0 -190
- scitex/scholar/.legacy/metadata/urls/zotero_translators/WikiLeaks PlusD.js +0 -182
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Wikidata QuickStatements.js +0 -306
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Wikidata.js +0 -911
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Wikimedia Commons.js +0 -285
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Wikipedia Citation Templates.js +0 -432
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Wikipedia.js +0 -385
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Wikisource.js +0 -399
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Wikiwand.js +0 -122
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Wiktionary.js +0 -141
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Wildlife Biology in Practice.js +0 -172
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Wiley Online Library.js +0 -1412
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Wilson Center Digital Archive.js +0 -321
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Winnipeg Free Press.js +0 -204
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Wired.js +0 -249
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Womennews.js +0 -230
- scitex/scholar/.legacy/metadata/urls/zotero_translators/World Digital Library.js +0 -403
- scitex/scholar/.legacy/metadata/urls/zotero_translators/World History Connected.js +0 -185
- scitex/scholar/.legacy/metadata/urls/zotero_translators/World Shakespeare Bibliography Online.js +0 -595
- scitex/scholar/.legacy/metadata/urls/zotero_translators/WorldCat Discovery Service.js +0 -630
- scitex/scholar/.legacy/metadata/urls/zotero_translators/XML ContextObject.js +0 -274
- scitex/scholar/.legacy/metadata/urls/zotero_translators/YPSF.js +0 -224
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Yandex Books.js +0 -265
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Ynet.js +0 -171
- scitex/scholar/.legacy/metadata/urls/zotero_translators/YouTube.js +0 -209
- scitex/scholar/.legacy/metadata/urls/zotero_translators/ZIPonline.js +0 -267
- scitex/scholar/.legacy/metadata/urls/zotero_translators/ZOBODAT.js +0 -341
- scitex/scholar/.legacy/metadata/urls/zotero_translators/Zotero RDF.js +0 -583
- scitex/scholar/.legacy/metadata/urls/zotero_translators/ZoteroBib.js +0 -94
- scitex/scholar/.legacy/metadata/urls/zotero_translators/arXiv.org.js +0 -1099
- scitex/scholar/.legacy/metadata/urls/zotero_translators/artnet.js +0 -207
- scitex/scholar/.legacy/metadata/urls/zotero_translators/beck-online.js +0 -1339
- scitex/scholar/.legacy/metadata/urls/zotero_translators/clinicaltrials.gov.js +0 -331
- scitex/scholar/.legacy/metadata/urls/zotero_translators/dLibra.js +0 -367
- scitex/scholar/.legacy/metadata/urls/zotero_translators/dejure.org.js +0 -242
- scitex/scholar/.legacy/metadata/urls/zotero_translators/deleted.txt +0 -132
- scitex/scholar/.legacy/metadata/urls/zotero_translators/dhistory.js +0 -103
- scitex/scholar/.legacy/metadata/urls/zotero_translators/digibib.net.js +0 -245
- scitex/scholar/.legacy/metadata/urls/zotero_translators/eLibrary.ru.js +0 -867
- scitex/scholar/.legacy/metadata/urls/zotero_translators/eLife.js +0 -462
- scitex/scholar/.legacy/metadata/urls/zotero_translators/eMJA.js +0 -246
- scitex/scholar/.legacy/metadata/urls/zotero_translators/eMedicine.js +0 -123
- scitex/scholar/.legacy/metadata/urls/zotero_translators/ePrint IACR.js +0 -608
- scitex/scholar/.legacy/metadata/urls/zotero_translators/ebrary.js +0 -140
- scitex/scholar/.legacy/metadata/urls/zotero_translators/etatar.ru.js +0 -104
- scitex/scholar/.legacy/metadata/urls/zotero_translators/feb-web.ru.js +0 -167
- scitex/scholar/.legacy/metadata/urls/zotero_translators/fishpond.co.nz.js +0 -224
- scitex/scholar/.legacy/metadata/urls/zotero_translators/fr-online.de.js +0 -209
- scitex/scholar/.legacy/metadata/urls/zotero_translators/govinfo.js +0 -189
- scitex/scholar/.legacy/metadata/urls/zotero_translators/index.d.ts +0 -1646
- scitex/scholar/.legacy/metadata/urls/zotero_translators/informIT database.js +0 -248
- scitex/scholar/.legacy/metadata/urls/zotero_translators/io-port.js +0 -68
- scitex/scholar/.legacy/metadata/urls/zotero_translators/jsconfig.json +0 -10
- scitex/scholar/.legacy/metadata/urls/zotero_translators/jurion.js +0 -377
- scitex/scholar/.legacy/metadata/urls/zotero_translators/mEDRA.js +0 -597
- scitex/scholar/.legacy/metadata/urls/zotero_translators/magazines.russ.ru.js +0 -120
- scitex/scholar/.legacy/metadata/urls/zotero_translators/medes.js +0 -284
- scitex/scholar/.legacy/metadata/urls/zotero_translators/newshub.co.nz.js +0 -206
- scitex/scholar/.legacy/metadata/urls/zotero_translators/newspapers.com.js +0 -335
- scitex/scholar/.legacy/metadata/urls/zotero_translators/openJur.js +0 -161
- scitex/scholar/.legacy/metadata/urls/zotero_translators/package-lock.json +0 -2345
- scitex/scholar/.legacy/metadata/urls/zotero_translators/package.json +0 -24
- scitex/scholar/.legacy/metadata/urls/zotero_translators/reddit.js +0 -275
- scitex/scholar/.legacy/metadata/urls/zotero_translators/sbn.it.js +0 -186
- scitex/scholar/.legacy/metadata/urls/zotero_translators/scinapse.js +0 -273
- scitex/scholar/.legacy/metadata/urls/zotero_translators/semantics Visual Library.js +0 -643
- scitex/scholar/.legacy/metadata/urls/zotero_translators/taz.de.js +0 -200
- scitex/scholar/.legacy/metadata/urls/zotero_translators/unAPI.js +0 -481
- scitex/scholar/.legacy/metadata/urls/zotero_translators/wiso.js +0 -314
- scitex/scholar/.legacy/metadata/urls/zotero_translators/zbMATH.js +0 -278
- scitex/scholar/.legacy/metadata/urls/zotero_translators/zotero.org.js +0 -311
- scitex/scholar/.legacy/search/README.md +0 -205
- scitex/scholar/.legacy/search/_Embedder.py +0 -329
- scitex/scholar/.legacy/search/_SemanticSearch.py +0 -278
- scitex/scholar/.legacy/search/_SemanticSearchEngine.py +0 -452
- scitex/scholar/.legacy/search/_UnifiedSearcher.py +0 -1353
- scitex/scholar/.legacy/search/_VectorDatabase.py +0 -443
- scitex/scholar/.legacy/search/__init__.py +0 -25
- scitex/scholar/.legacy/storage/_EnhancedStorageManager.py +0 -617
- scitex/scholar/.legacy/storage/__init__.py +0 -19
- scitex/scholar/CLAUDE.md +0 -257
- scitex/scholar/TODO.md +0 -174
- scitex/scholar/_mcp_handlers.py +0 -685
- scitex/scholar/_mcp_tool_schemas.py +0 -339
- scitex/scholar/docs/backup/papers-orig.bib +0 -698
- scitex/scholar/docs/backup/papers.bib.zip +0 -0
- scitex/scholar/docs/to_claude/bin/elisp/check_parens.sh +0 -56
- scitex/scholar/docs/to_claude/bin/elisp/elisp-ci/README.md +0 -412
- scitex/scholar/docs/to_claude/bin/elisp/elisp-ci/elisp-ci +0 -622
- scitex/scholar/docs/to_claude/bin/elisp/elisp-ci/elisp-ci-simple +0 -105
- scitex/scholar/docs/to_claude/bin/elisp/find_incorrect_require_provide_statements.sh +0 -113
- scitex/scholar/docs/to_claude/bin/elisp/run_tests_elisp.sh +0 -532
- scitex/scholar/docs/to_claude/bin/elisp/run_tests_elisp_v02.sh +0 -555
- scitex/scholar/docs/to_claude/bin/elisp/sync_elisp_tdd.sh +0 -626
- scitex/scholar/docs/to_claude/bin/general/claude_emacs_server.sh +0 -192
- scitex/scholar/docs/to_claude/bin/general/create_github_release.sh +0 -36
- scitex/scholar/docs/to_claude/bin/general/find_errors.sh +0 -75
- scitex/scholar/docs/to_claude/bin/general/rename.sh +0 -145
- scitex/scholar/docs/to_claude/bin/general/render_mermaid.sh +0 -116
- scitex/scholar/docs/to_claude/bin/general/safe_rm.sh +0 -75
- scitex/scholar/docs/to_claude/bin/general/view_repo.sh +0 -4
- scitex/scholar/docs/to_claude/bin/general/wsl2-buzzer.sh +0 -73
- scitex/scholar/docs/to_claude/bin/python/black_all.sh +0 -41
- scitex/scholar/docs/to_claude/bin/python/run_tests_python_pip_package.sh +0 -291
- scitex/scholar/docs/to_claude/bin/safe_rm.sh +0 -3
- scitex/scholar/docs/to_claude/bin/slurm/README.md +0 -54
- scitex/scholar/docs/to_claude/bin/slurm/login.sh +0 -23
- scitex/scholar/docs/to_claude/bin/slurm/request.sh +0 -62
- scitex/scholar/docs/to_claude/bin/slurm/run.sh +0 -73
- scitex/scholar/docs/to_claude/examples/README.md +0 -9
- scitex/scholar/docs/to_claude/examples/example-elisp-project-emacs-hello-world/ELISP-TEST-REPORT-20250513-012234-48-PASSED-49-TOTAL-97-PERCENT.org +0 -105
- scitex/scholar/docs/to_claude/examples/example-elisp-project-emacs-hello-world/LATEST-ELISP-REPORT.org +0 -105
- scitex/scholar/docs/to_claude/examples/example-elisp-project-emacs-hello-world/README.md +0 -11
- scitex/scholar/docs/to_claude/examples/example-elisp-project-emacs-hello-world/run_tests.sh +0 -652
- scitex/scholar/docs/to_claude/examples/example-elisp-project-emacs-hello-world/tests/test-ehw-core/ELISP-TEST-REPORT-20250512-235622-0-SUCCESS-4-TOTAL-0-PERCENT.org +0 -25
- scitex/scholar/docs/to_claude/examples/example-elisp-project-emacs-hello-world/tests/test-ehw-friends/ELISP-TEST-REPORT-20250512-235622-0-SUCCESS-34-TOTAL-0-PERCENT.org +0 -66
- scitex/scholar/docs/to_claude/examples/example-elisp-project-emacs-hello-world/tests/test-ehw-prep/ELISP-TEST-REPORT-20250512-235622-0-SUCCESS-5-TOTAL-0-PERCENT.org +0 -26
- scitex/scholar/docs/to_claude/examples/example-elisp-project-emacs-hello-world/tests/test-ehw-utils/ELISP-TEST-REPORT-20250512-235622-0-SUCCESS-4-TOTAL-0-PERCENT.org +0 -25
- scitex/scholar/docs/to_claude/examples/example-python-project-scitex/.gitignore +0 -626
- scitex/scholar/docs/to_claude/examples/example-python-project-scitex/README.md +0 -155
- scitex/scholar/docs/to_claude/examples/example-python-project-scitex/config/MNIST.yaml +0 -24
- scitex/scholar/docs/to_claude/examples/example-python-project-scitex/config/PATH.yaml +0 -30
- scitex/scholar/docs/to_claude/examples/example-python-project-scitex/data/.gitkeep +0 -0
- scitex/scholar/docs/to_claude/examples/example-python-project-scitex/scripts/mnist/clf_svm.py +0 -124
- scitex/scholar/docs/to_claude/examples/example-python-project-scitex/scripts/mnist/download.py +0 -165
- scitex/scholar/docs/to_claude/examples/example-python-project-scitex/scripts/mnist/main.sh +0 -26
- scitex/scholar/docs/to_claude/examples/example-python-project-scitex/scripts/mnist/plot_conf_mat.py +0 -86
- scitex/scholar/docs/to_claude/examples/example-python-project-scitex/scripts/mnist/plot_digits.py +0 -118
- scitex/scholar/docs/to_claude/examples/example-python-project-scitex/scripts/mnist/plot_umap_space.py +0 -110
- scitex/scholar/docs/to_claude/guidelines/README.md +0 -9
- scitex/scholar/docs/to_claude/guidelines/USER_PHILOSOPHY/01_DEVELOPMENT_CYCLE.md +0 -47
- scitex/scholar/docs/to_claude/guidelines/USER_PHILOSOPHY/02_NAMING_CONVENSIONS.md +0 -91
- scitex/scholar/docs/to_claude/guidelines/USER_PHILOSOPHY/03_ARCHITECTUAL_AGREEMENT_PROCESS.md +0 -86
- scitex/scholar/docs/to_claude/guidelines/USER_PHILOSOPHY/04_ARCHITECTURE_PREDEFINED.md +0 -77
- scitex/scholar/docs/to_claude/guidelines/USER_PHILOSOPHY/05_PRIORITY_CONFIG.md +0 -22
- scitex/scholar/docs/to_claude/guidelines/USER_PHILOSOPHY/06_MULTIPLE_SPECIAL_AGENTS.md +0 -35
- scitex/scholar/docs/to_claude/guidelines/USER_PHILOSOPHY/07_DEBUGGING_TECHNIQUES.md +0 -153
- scitex/scholar/docs/to_claude/guidelines/command/IMPORTANT-rm.md +0 -69
- scitex/scholar/docs/to_claude/guidelines/command/IMPORTANT-tree.md +0 -162
- scitex/scholar/docs/to_claude/guidelines/elisp/IMPORTANT-ELISP-01-basic.md +0 -65
- scitex/scholar/docs/to_claude/guidelines/elisp/IMPORTANT-ELISP-02-project-structure.md +0 -97
- scitex/scholar/docs/to_claude/guidelines/elisp/IMPORTANT-ELISP-03-file-template.md +0 -70
- scitex/scholar/docs/to_claude/guidelines/elisp/IMPORTANT-ELISP-04-coding-style.md +0 -42
- scitex/scholar/docs/to_claude/guidelines/elisp/IMPORTANT-ELISP-05-testing-guide.md +0 -190
- scitex/scholar/docs/to_claude/guidelines/elisp/IMPORTANT-ELISP-99-example-project.md +0 -15
- scitex/scholar/docs/to_claude/guidelines/elisp/ci.md +0 -650
- scitex/scholar/docs/to_claude/guidelines/elisp/testing-with-docker.md +0 -243
- scitex/scholar/docs/to_claude/guidelines/programming_common/EXAMPLE-README-MODULE-ROOT.md +0 -32
- scitex/scholar/docs/to_claude/guidelines/programming_common/EXAMPLE-README-REPOSITORY-ROOT.md +0 -60
- scitex/scholar/docs/to_claude/guidelines/programming_common/IMPORTANT-art-of-readable-code.md +0 -1317
- scitex/scholar/docs/to_claude/guidelines/programming_common/IMPORTANT-art-of-testing.md +0 -799
- scitex/scholar/docs/to_claude/guidelines/programming_common/IMPORTANT-cleanliness.md +0 -18
- scitex/scholar/docs/to_claude/guidelines/programming_common/IMPORTANT-documentation-performance-claims.md +0 -163
- scitex/scholar/docs/to_claude/guidelines/programming_common/IMPORTANT-general.md +0 -156
- scitex/scholar/docs/to_claude/guidelines/programming_common/IMPORTANT-refactoring.md +0 -32
- scitex/scholar/docs/to_claude/guidelines/programming_common/IMPORTANT-regression-prevention.md +0 -14
- scitex/scholar/docs/to_claude/guidelines/programming_common/IMPORTANT-slurm.md +0 -73
- scitex/scholar/docs/to_claude/guidelines/programming_common/IMPORTANT-start-from-small.md +0 -30
- scitex/scholar/docs/to_claude/guidelines/programming_common/IMPORTANT-test-driven-workflow.md +0 -80
- scitex/scholar/docs/to_claude/guidelines/programming_common/IMPORTANT-version-control.md +0 -47
- scitex/scholar/docs/to_claude/guidelines/programming_common/clean-code.md +0 -305
- scitex/scholar/docs/to_claude/guidelines/programming_common/debugging-message.md +0 -52
- scitex/scholar/docs/to_claude/guidelines/programming_common/do-not-repeat-yourself.md +0 -27
- scitex/scholar/docs/to_claude/guidelines/programming_common/emacs-server.md +0 -39
- scitex/scholar/docs/to_claude/guidelines/programming_common/keep-it-simple-stupid.md +0 -19
- scitex/scholar/docs/to_claude/guidelines/programming_common/renaming-and-cleaning-workflow.md +0 -311
- scitex/scholar/docs/to_claude/guidelines/programming_common/screen.md +0 -32
- scitex/scholar/docs/to_claude/guidelines/project/IMPORTANT-CLAUDE_ID.md +0 -15
- scitex/scholar/docs/to_claude/guidelines/project/IMPORTANT-beyond-control.md +0 -14
- scitex/scholar/docs/to_claude/guidelines/project/IMPORTANT-bug-report.md +0 -43
- scitex/scholar/docs/to_claude/guidelines/project/IMPORTANT-cleanliness.md +0 -162
- scitex/scholar/docs/to_claude/guidelines/project/IMPORTANT-communication.md +0 -13
- scitex/scholar/docs/to_claude/guidelines/project/IMPORTANT-do-not-create-any-new-file-nor-directory-in-project-root.md +0 -9
- scitex/scholar/docs/to_claude/guidelines/project/IMPORTANT-documentation.md +0 -11
- scitex/scholar/docs/to_claude/guidelines/project/IMPORTANT-feature-request.md +0 -33
- scitex/scholar/docs/to_claude/guidelines/project/IMPORTANT-general-multi-agent-coordination.md +0 -311
- scitex/scholar/docs/to_claude/guidelines/project/IMPORTANT-multi-agent-protocol.md +0 -97
- scitex/scholar/docs/to_claude/guidelines/project/IMPORTANT-project-management-bulletin-board.md +0 -48
- scitex/scholar/docs/to_claude/guidelines/project/IMPORTANT-project-management-markdown.md +0 -156
- scitex/scholar/docs/to_claude/guidelines/project/IMPORTANT-project-management-org.org +0 -161
- scitex/scholar/docs/to_claude/guidelines/project/IMPORTANT-tools.md +0 -10
- scitex/scholar/docs/to_claude/guidelines/project/IMPORTANT-understand-message-in-filename.md +0 -12
- scitex/scholar/docs/to_claude/guidelines/project/general.md +0 -7
- scitex/scholar/docs/to_claude/guidelines/project/report.md +0 -50
- scitex/scholar/docs/to_claude/guidelines/project/timeline-gantt-chart.md +0 -49
- scitex/scholar/docs/to_claude/guidelines/python/CHECKLIST.md +0 -51
- scitex/scholar/docs/to_claude/guidelines/python/HOW-TO-DEBUG-with-MULTIPLE_AGENTS.md +0 -191
- scitex/scholar/docs/to_claude/guidelines/python/Machine-Learning.md +0 -15
- scitex/scholar/docs/to_claude/guidelines/python/NOT-FULL-PYTEST-BUT-PARTIAL-PYTEST.md +0 -21
- scitex/scholar/docs/to_claude/guidelines/python/django.md +0 -217
- scitex/scholar/docs/to_claude/guidelines/python/env.md +0 -10
- scitex/scholar/docs/to_claude/guidelines/python/general.md +0 -55
- scitex/scholar/docs/to_claude/guidelines/python/official/cipdb-README.md +0 -219
- scitex/scholar/docs/to_claude/guidelines/python/official/fastmcp-README.md +0 -442
- scitex/scholar/docs/to_claude/guidelines/python/official/fastmcp-TESTING.md +0 -146
- scitex/scholar/docs/to_claude/guidelines/python/official/icecream-README.md +0 -433
- scitex/scholar/docs/to_claude/guidelines/python/official/priority_config-README.md +0 -126
- scitex/scholar/docs/to_claude/guidelines/python/scitex/01-basic.md +0 -42
- scitex/scholar/docs/to_claude/guidelines/python/scitex/02-file-template.md +0 -132
- scitex/scholar/docs/to_claude/guidelines/python/scitex/03-configuration.md +0 -53
- scitex/scholar/docs/to_claude/guidelines/python/scitex/04-coding-style.md +0 -126
- scitex/scholar/docs/to_claude/guidelines/python/scitex/05-testing-guide.md +0 -56
- scitex/scholar/docs/to_claude/guidelines/python/scitex/06-examples-guide.md +0 -42
- scitex/scholar/docs/to_claude/guidelines/python/scitex/11-gen-module.md +0 -15
- scitex/scholar/docs/to_claude/guidelines/python/scitex/11-session-module.md +0 -24
- scitex/scholar/docs/to_claude/guidelines/python/scitex/12-io-module.md +0 -112
- scitex/scholar/docs/to_claude/guidelines/python/scitex/13-plt-module.md +0 -101
- scitex/scholar/docs/to_claude/guidelines/python/scitex/14-dsp-module.md +0 -78
- scitex/scholar/docs/to_claude/guidelines/python/scitex/15-pd-module.md +0 -24
- scitex/scholar/docs/to_claude/guidelines/python/scitex/16-stats-module.md +0 -79
- scitex/scholar/docs/to_claude/guidelines/python/scitex/17-other-modules.md +0 -23
- scitex/scholar/docs/to_claude/guidelines/python/scitex/17-str-module.md +0 -24
- scitex/scholar/docs/to_claude/guidelines/python/scitex/18-directory-structure-for-scientific-work.md +0 -48
- scitex/scholar/docs/to_claude/guidelines/python/scitex/19-directory-structure-for-pip-package.md +0 -234
- scitex/scholar/docs/to_claude/guidelines/python/scitex/99-example-project.md +0 -19
- scitex/scholar/docs/to_claude/guidelines/python/zen_of_python.md +0 -82
- scitex/scholar/docs/to_claude/guidelines/science/IMPORTANT-general.md +0 -16
- scitex/scholar/docs/to_claude/guidelines/science/IMPORTANT-scientific-attitude.md +0 -25
- scitex/scholar/docs/to_claude/guidelines/science/scientific-writing-abstract.md +0 -93
- scitex/scholar/docs/to_claude/guidelines/science/scientific-writing-discussion.md +0 -116
- scitex/scholar/docs/to_claude/guidelines/science/scientific-writing-general-1.md +0 -157
- scitex/scholar/docs/to_claude/guidelines/science/scientific-writing-general-2.md +0 -83
- scitex/scholar/docs/to_claude/guidelines/science/scientific-writing-introduction.md +0 -123
- scitex/scholar/docs/to_claude/guidelines/science/scientific-writing-methods.md +0 -88
- scitex/scholar/docs/to_claude/guidelines/shell/IMPORTANT-general.md +0 -196
- scitex/scholar/examples/SUGGESTIONS.md +0 -865
- scitex/scholar/examples/dev.py +0 -38
- scitex/scholar/library/neurovista/info/bibtex/seizure_prediction_enriched.bib +0 -1092
- scitex/stats/_mcp_handlers.py +0 -1191
- scitex/stats/_mcp_tool_schemas.py +0 -384
- scitex/template/.legacy/_clone_project.py +0 -267
- scitex/template/_mcp_handlers.py +0 -259
- scitex/template/_mcp_tool_schemas.py +0 -112
- scitex/writer/.legacy/Writer_v01-refactored.py +0 -189
- scitex/writer/.legacy/_compile.py +0 -342
- scitex/writer/_compile_async.py +0 -126
- scitex/writer/_validate_tree_structures.py +0 -197
- scitex/writer/dataclasses/config/_WriterConfig.py +0 -175
- scitex/writer/dataclasses/contents/_ManuscriptContents.py +0 -236
- scitex/writer/dataclasses/core/_Document.py +0 -146
- scitex/writer/dataclasses/core/_DocumentSection.py +0 -546
- scitex/writer/dataclasses/results/_CompilationResult.py +0 -165
- scitex/writer/dataclasses/results/_LaTeXIssue.py +0 -102
- scitex/writer/dataclasses/tree/MINIMUM_FILES.md +0 -121
- scitex/writer/tests/__init__.py +0 -3
- scitex/writer/tests/test_diff_between.py +0 -451
- scitex/writer/tests/test_document_section.py +0 -311
- scitex/writer/tests/test_document_workflow.py +0 -393
- scitex/writer/tests/test_writer.py +0 -361
- scitex/writer/tests/test_writer_integration.py +0 -303
- scitex-2.13.0.dist-info/METADATA +0 -1231
- scitex-2.13.0.dist-info/RECORD +0 -3402
- scitex-2.13.0.dist-info/entry_points.txt +0 -11
- /scitex/scholar/docs/{SUMMARY.md → 00_SUMMARY.md} +0 -0
- /scitex/scholar/docs/{STORAGE_ARCHITECTURE.md → 01_STORAGE_ARCHITECTURE.md} +0 -0
- /scitex/scholar/docs/{PIPELINE_ORGANIZATION.md → 02_PIPELINE_ORGANIZATION.md} +0 -0
- /scitex/scholar/docs/{PIPELINE_IMPLEMENTATION_PLAN.md → 03_PIPELINE_IMPLEMENTATION_PLAN.md} +0 -0
- /scitex/scholar/docs/{PIPELINE_IMPLEMENTATION_COMPLETE.md → 04_PIPELINE_IMPLEMENTATION_COMPLETE.md} +0 -0
- /scitex/scholar/docs/{DETAILS_FOR_DEVELOPERS.md → 05_DETAILS_FOR_DEVELOPERS.md} +0 -0
- /scitex/scholar/docs/{IMPACT_FACTOR_CITATION_INTEGRATION.md → 06_IMPACT_FACTOR_CITATION_INTEGRATION.md} +0 -0
- /scitex/writer/{dataclasses → _dataclasses}/__init__.py +0 -0
- /scitex/writer/{dataclasses → _dataclasses}/config/_CONSTANTS.py +0 -0
- /scitex/writer/{dataclasses → _dataclasses}/config/__init__.py +0 -0
- /scitex/writer/{dataclasses → _dataclasses}/contents/_RevisionContents.py +0 -0
- /scitex/writer/{dataclasses → _dataclasses}/contents/_SupplementaryContents.py +0 -0
- /scitex/writer/{dataclasses → _dataclasses}/contents/__init__.py +0 -0
- /scitex/writer/{dataclasses → _dataclasses}/core/__init__.py +0 -0
- /scitex/writer/{dataclasses → _dataclasses}/results/_SaveSectionsResponse.py +0 -0
- /scitex/writer/{dataclasses → _dataclasses}/results/_SectionReadResponse.py +0 -0
- /scitex/writer/{dataclasses → _dataclasses}/results/__init__.py +0 -0
- /scitex/writer/{dataclasses → _dataclasses}/tree/_ConfigTree.py +0 -0
- /scitex/writer/{dataclasses → _dataclasses}/tree/_ManuscriptTree.py +0 -0
- /scitex/writer/{dataclasses → _dataclasses}/tree/_RevisionTree.py +0 -0
- /scitex/writer/{dataclasses → _dataclasses}/tree/_ScriptsTree.py +0 -0
- /scitex/writer/{dataclasses → _dataclasses}/tree/_SharedTree.py +0 -0
- /scitex/writer/{dataclasses → _dataclasses}/tree/_SupplementaryTree.py +0 -0
- /scitex/writer/{dataclasses → _dataclasses}/tree/__init__.py +0 -0
- {scitex-2.13.0.dist-info → scitex-2.15.1.dist-info}/WHEEL +0 -0
- {scitex-2.13.0.dist-info → scitex-2.15.1.dist-info}/licenses/LICENSE +0 -0
|
@@ -1,1361 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"translatorID": "57a00950-f0d1-4b41-b6ba-44ff0fc30289",
|
|
3
|
-
"label": "Google Scholar",
|
|
4
|
-
"creator": "Simon Kornblith, Frank Bennett, Aurimas Vinckevicius",
|
|
5
|
-
"target": "^https?://scholar[-.]google[-.](com|cat|(com?[-.])?[a-z]{2})(\\.[^/]+)?/(scholar(_case)?\\?|citations\\?)",
|
|
6
|
-
"minVersion": "3.0",
|
|
7
|
-
"maxVersion": "",
|
|
8
|
-
"priority": 100,
|
|
9
|
-
"inRepository": true,
|
|
10
|
-
"translatorType": 4,
|
|
11
|
-
"browserSupport": "gcsibv",
|
|
12
|
-
"lastUpdated": "2023-07-11 07:58:52"
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
/*
|
|
16
|
-
***** BEGIN LICENSE BLOCK *****
|
|
17
|
-
|
|
18
|
-
Copyright © 2022 Simon Kornblith, Frank Bennett, Aurimas Vinckevicius, and
|
|
19
|
-
Zoë C. Ma.
|
|
20
|
-
|
|
21
|
-
This file is part of Zotero.
|
|
22
|
-
|
|
23
|
-
Zotero is free software: you can redistribute it and/or modify
|
|
24
|
-
it under the terms of the GNU Affero General Public License as published by
|
|
25
|
-
the Free Software Foundation, either version 3 of the License, or
|
|
26
|
-
(at your option) any later version.
|
|
27
|
-
|
|
28
|
-
Zotero is distributed in the hope that it will be useful,
|
|
29
|
-
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
30
|
-
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
31
|
-
GNU Affero General Public License for more details.
|
|
32
|
-
|
|
33
|
-
You should have received a copy of the GNU Affero General Public License
|
|
34
|
-
along with Zotero. If not, see <http://www.gnu.org/licenses/>.
|
|
35
|
-
|
|
36
|
-
***** END LICENSE BLOCK *****
|
|
37
|
-
*/
|
|
38
|
-
|
|
39
|
-
const DELAY_INTERVAL = 2000; // in milliseconds
|
|
40
|
-
|
|
41
|
-
var GS_CONFIG = { baseURL: undefined, lang: undefined };
|
|
42
|
-
|
|
43
|
-
const MIME_TYPES = {
|
|
44
|
-
PDF: 'application/pdf',
|
|
45
|
-
DOC: 'application/msword',
|
|
46
|
-
HTML: 'text/html',
|
|
47
|
-
};
|
|
48
|
-
|
|
49
|
-
// The only "typedef" that needs to be kept in mind: a data object representing
|
|
50
|
-
// a row in the seach/profile listing.
|
|
51
|
-
|
|
52
|
-
/**
|
|
53
|
-
* Information object for one Google Scholar entry or "row"
|
|
54
|
-
*
|
|
55
|
-
* @typedef {Object} RowObj
|
|
56
|
-
* @property {?string} id - Google Scholar ID string
|
|
57
|
-
* @property {string} [directLink] - href of the title link
|
|
58
|
-
* @property {string} [attachmentLink] - href of the attachment link found by GS
|
|
59
|
-
* @property {string} [attachmentType] - type (file extension) of the attachment
|
|
60
|
-
* @property {string} [byline] - the line of text below the title (in green)
|
|
61
|
-
*/
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
/* Detection for law cases, but not "How cited" pages,
|
|
65
|
-
* e.g. url of "how cited" page:
|
|
66
|
-
* http://scholar.google.co.jp/scholar_case?about=1101424605047973909&q=kelo&hl=en&as_sdt=2002
|
|
67
|
-
*/
|
|
68
|
-
function detectWeb(doc, url) {
|
|
69
|
-
if (url.includes('/scholar_case?')
|
|
70
|
-
&& url.includes('case=')
|
|
71
|
-
) {
|
|
72
|
-
return "case";
|
|
73
|
-
}
|
|
74
|
-
else if (url.includes('/citations?')) {
|
|
75
|
-
if (getProfileResults(doc, true)) {
|
|
76
|
-
return "multiple";
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
// individual saved citation
|
|
80
|
-
var link = ZU.xpathText(doc, '//a[@class="gsc_oci_title_link"]/@href');
|
|
81
|
-
if (!link) return false;
|
|
82
|
-
if (link.includes('/scholar_case?')) {
|
|
83
|
-
return 'case';
|
|
84
|
-
}
|
|
85
|
-
else {
|
|
86
|
-
// Can't distinguish book from journalArticle
|
|
87
|
-
// Both have "Journal" fields
|
|
88
|
-
return 'journalArticle';
|
|
89
|
-
}
|
|
90
|
-
}
|
|
91
|
-
else if (getSearchResults(doc, true)) {
|
|
92
|
-
return "multiple";
|
|
93
|
-
}
|
|
94
|
-
return false;
|
|
95
|
-
}
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
function getSearchResults(doc, checkOnly) {
|
|
99
|
-
var items = {};
|
|
100
|
-
var found = false;
|
|
101
|
-
var rows = doc.querySelectorAll('.gs_r[data-cid]');
|
|
102
|
-
for (var i = 0; i < rows.length; i++) {
|
|
103
|
-
var id = rows[i].dataset.cid;
|
|
104
|
-
var title = text(rows[i], '.gs_rt');
|
|
105
|
-
if (!id || !title) continue;
|
|
106
|
-
if (checkOnly) return true;
|
|
107
|
-
found = true;
|
|
108
|
-
items[id] = title;
|
|
109
|
-
}
|
|
110
|
-
return found ? items : false;
|
|
111
|
-
}
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
function getProfileResults(doc, checkOnly) {
|
|
115
|
-
var items = {};
|
|
116
|
-
var found = false;
|
|
117
|
-
var rows = doc.querySelectorAll('a.gsc_a_at');
|
|
118
|
-
for (var i = 0; i < rows.length; i++) {
|
|
119
|
-
var href = rows[i].href;
|
|
120
|
-
var title = rows[i].textContent;
|
|
121
|
-
if (!href || !title) continue;
|
|
122
|
-
if (checkOnly) return true;
|
|
123
|
-
found = true;
|
|
124
|
-
items[href] = title;
|
|
125
|
-
}
|
|
126
|
-
return found ? items : false;
|
|
127
|
-
}
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
async function doWeb(doc, url) {
|
|
131
|
-
// Determine the domain and language variant of the page.
|
|
132
|
-
let urlObj = new URL(url);
|
|
133
|
-
GS_CONFIG.baseURL = urlObj.origin;
|
|
134
|
-
GS_CONFIG.lang = urlObj.searchParams.get("hl") || "en";
|
|
135
|
-
|
|
136
|
-
let type = detectWeb(doc, url);
|
|
137
|
-
|
|
138
|
-
if (type == "multiple") {
|
|
139
|
-
let referrerURL;
|
|
140
|
-
let getRow;
|
|
141
|
-
let keys;
|
|
142
|
-
|
|
143
|
-
if (getSearchResults(doc, true/* checkOnly */)) {
|
|
144
|
-
let items = await Z.selectItems(getSearchResults(doc, false));
|
|
145
|
-
if (!items) {
|
|
146
|
-
return;
|
|
147
|
-
}
|
|
148
|
-
referrerURL = new URL(doc.location);
|
|
149
|
-
getRow = rowFromSearchResult;
|
|
150
|
-
keys = Object.keys(items);
|
|
151
|
-
}
|
|
152
|
-
else if (getProfileResults(doc, true/* checkOnly */)) {
|
|
153
|
-
let urls = await Z.selectItems(getProfileResults(doc, false));
|
|
154
|
-
if (!urls) {
|
|
155
|
-
return;
|
|
156
|
-
}
|
|
157
|
-
const profileName = text(doc, "#gsc_prf_in");
|
|
158
|
-
referrerURL = getEmulatedSearchURL(profileName);
|
|
159
|
-
getRow = rowFromProfile;
|
|
160
|
-
keys = Object.keys(urls);
|
|
161
|
-
}
|
|
162
|
-
|
|
163
|
-
await scrapeMany(keys, doc, getRow, referrerURL);
|
|
164
|
-
}
|
|
165
|
-
else {
|
|
166
|
-
// e.g. https://scholar.google.de/citations?view_op=view_citation&hl=de&user=INQwsQkAAAAJ&citation_for_view=INQwsQkAAAAJ:u5HHmVD_uO8C
|
|
167
|
-
await scrape(doc, url, type);
|
|
168
|
-
}
|
|
169
|
-
}
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
// Scrape an array of string IDs or URLs (keys) that are obtained from
|
|
173
|
-
// the GS search/profile document (baseDocument). rowRequestor is a function
|
|
174
|
-
// that returns the row or a promise resolving to a row when called as
|
|
175
|
-
// rowRequestor(key, baseDocument).
|
|
176
|
-
// This function will reject if some rows failed to translate.
|
|
177
|
-
async function scrapeMany(keys, baseDocument, rowRequestor, referrerURL) {
|
|
178
|
-
let failedRows = [];
|
|
179
|
-
let promises = [];
|
|
180
|
-
for (let i = 0; i < keys.length; i++) {
|
|
181
|
-
let key = keys[i];
|
|
182
|
-
let row = await rowRequestor(key, baseDocument);
|
|
183
|
-
if (row) {
|
|
184
|
-
// NOTE: here we start a promise that scrapes the row in the stages
|
|
185
|
-
// of DOI -> arXiv -> Google Scholar, but don't wait for it in the
|
|
186
|
-
// loop over rows
|
|
187
|
-
promises.push(scrapeInStages(row, referrerURL, failedRows));
|
|
188
|
-
}
|
|
189
|
-
if (i < keys.length - 1) {
|
|
190
|
-
// But we do wait between iterations over the rows
|
|
191
|
-
await delay(DELAY_INTERVAL);
|
|
192
|
-
}
|
|
193
|
-
}
|
|
194
|
-
await Promise.all(promises);
|
|
195
|
-
if (failedRows.length) {
|
|
196
|
-
throw new Error(`${failedRows.length} row(s) failed to translate`);
|
|
197
|
-
}
|
|
198
|
-
}
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
// Scrape one GS entry
|
|
202
|
-
async function scrape(doc, url, type) {
|
|
203
|
-
if (type && type == "case") {
|
|
204
|
-
scrapeCase(doc, url);
|
|
205
|
-
}
|
|
206
|
-
else {
|
|
207
|
-
// Stand-alone "View article" page
|
|
208
|
-
const profileName = text(doc, "#gsc_sb_ui > div > a");
|
|
209
|
-
let referrerURL = getEmulatedSearchURL(profileName);
|
|
210
|
-
// Single-item row computed from "View article" page content.
|
|
211
|
-
let row = parseViewArticle(doc);
|
|
212
|
-
if (row) {
|
|
213
|
-
let failedRow = [];
|
|
214
|
-
await scrapeInStages(row, referrerURL, failedRow);
|
|
215
|
-
if (failedRow.length) {
|
|
216
|
-
throw new Error(`Failed to translate: ${row}`);
|
|
217
|
-
}
|
|
218
|
-
}
|
|
219
|
-
else {
|
|
220
|
-
throw new Error(`Expected 'View article' page at ${url}, but failed to extract article info from it.`);
|
|
221
|
-
}
|
|
222
|
-
}
|
|
223
|
-
}
|
|
224
|
-
|
|
225
|
-
// "row requestor" functions
|
|
226
|
-
// For search results - given ID and the document it originates, return a row.
|
|
227
|
-
// This function does not incur additional network requests.
|
|
228
|
-
function rowFromSearchResult(id, doc) {
|
|
229
|
-
try {
|
|
230
|
-
let entryElem = doc.querySelector(`.gs_r[data-cid="${id}"]`);
|
|
231
|
-
// href from an <a> tag, direct link to the source. Note that the ID
|
|
232
|
-
// starting with number can be fine, but the selector is a pain.
|
|
233
|
-
let aElem = doc.getElementById(id);
|
|
234
|
-
let directLink = aElem ? aElem.href : undefined;
|
|
235
|
-
let attachmentLink = attr(entryElem, ".gs_ggs a", "href");
|
|
236
|
-
let attachmentType = text(entryElem, ".gs_ctg2");
|
|
237
|
-
if (attachmentType) {
|
|
238
|
-
// Remove the brackets
|
|
239
|
-
attachmentType = attachmentType.slice(1, -1).toUpperCase();
|
|
240
|
-
}
|
|
241
|
-
let byline = text(entryElem, ".gs_a");
|
|
242
|
-
|
|
243
|
-
return { id, directLink, attachmentLink, attachmentType, byline };
|
|
244
|
-
}
|
|
245
|
-
catch (error) {
|
|
246
|
-
Z.debug(`Warning: failed to get row info for GS id ${id}`);
|
|
247
|
-
return undefined;
|
|
248
|
-
}
|
|
249
|
-
}
|
|
250
|
-
|
|
251
|
-
// For search results - given "Article view" URLs and the profile document it
|
|
252
|
-
// originates, return a row. This will incur one request (to get the "Article
|
|
253
|
-
// view" document) per row.
|
|
254
|
-
async function rowFromProfile(url, profileDoc) {
|
|
255
|
-
// To "navigate" to the linked "View article" page from the profile page, a
|
|
256
|
-
// referrer is sent as header in the request
|
|
257
|
-
const requestOptions = { headers: { Referer: profileDoc.location.href } };
|
|
258
|
-
|
|
259
|
-
try {
|
|
260
|
-
let viewArticleDoc = await requestDocument(url, requestOptions);
|
|
261
|
-
let row = parseViewArticle(viewArticleDoc);
|
|
262
|
-
if (row) {
|
|
263
|
-
return row;
|
|
264
|
-
}
|
|
265
|
-
}
|
|
266
|
-
catch (error) {
|
|
267
|
-
Z.debug(`Warning: cannot retrieve the profile view-article page at ${url}; skipping. The error was:`);
|
|
268
|
-
Z.debug(error);
|
|
269
|
-
return undefined;
|
|
270
|
-
}
|
|
271
|
-
|
|
272
|
-
Z.debug(`Warning: cannot find Google Scholar id in profile view-article page at ${url}; skipping.`);
|
|
273
|
-
return undefined;
|
|
274
|
-
}
|
|
275
|
-
|
|
276
|
-
// process the row in the order of DOI -> arXiv -> GS. If all fail, add the row
|
|
277
|
-
// to the array failedRows. This function never rejects.
|
|
278
|
-
async function scrapeInStages(row, referrerURL, failedRows) {
|
|
279
|
-
try {
|
|
280
|
-
await scrapeDOI(row);
|
|
281
|
-
return;
|
|
282
|
-
}
|
|
283
|
-
catch (error) {
|
|
284
|
-
}
|
|
285
|
-
|
|
286
|
-
try {
|
|
287
|
-
await scrapeArXiv(row);
|
|
288
|
-
return;
|
|
289
|
-
}
|
|
290
|
-
catch (error) {
|
|
291
|
-
}
|
|
292
|
-
|
|
293
|
-
try {
|
|
294
|
-
await scrapeGoogleScholar(row, referrerURL);
|
|
295
|
-
}
|
|
296
|
-
catch (error) {
|
|
297
|
-
Z.debug(`Error with Google Scholar scraping of row ${row.directLink}`);
|
|
298
|
-
Z.debug(`The error was: ${error}`);
|
|
299
|
-
failedRows.push(row);
|
|
300
|
-
}
|
|
301
|
-
}
|
|
302
|
-
|
|
303
|
-
function scrapeDOI(row) {
|
|
304
|
-
let doi = extractDOI(row);
|
|
305
|
-
if (!doi) {
|
|
306
|
-
throw new Error(`No DOI found for link: ${row.directLink}`);
|
|
307
|
-
}
|
|
308
|
-
|
|
309
|
-
let translate = Z.loadTranslator("search");
|
|
310
|
-
// DOI Content Negotiation
|
|
311
|
-
translate.setTranslator("b28d0d42-8549-4c6d-83fc-8382874a5cb9");
|
|
312
|
-
translate.setHandler("error", () => {});
|
|
313
|
-
translate.setHandler("itemDone", (obj, item) => {
|
|
314
|
-
// NOTE: The 'DOI Content Negotiation' translator does not add
|
|
315
|
-
// attachments on its own
|
|
316
|
-
addAttachment(item, row);
|
|
317
|
-
item.complete();
|
|
318
|
-
});
|
|
319
|
-
translate.setSearch({ DOI: doi });
|
|
320
|
-
Z.debug(`Trying DOI search for ${row.directLink}`);
|
|
321
|
-
return translate.translate();
|
|
322
|
-
}
|
|
323
|
-
|
|
324
|
-
function scrapeArXiv(row) {
|
|
325
|
-
let eprintID = extractArXiv(row);
|
|
326
|
-
if (!eprintID) {
|
|
327
|
-
throw new Error(`No ArXiv eprint ID found for link: ${row.directLink}`);
|
|
328
|
-
}
|
|
329
|
-
|
|
330
|
-
let translate = Z.loadTranslator("search");
|
|
331
|
-
// arXiv.org
|
|
332
|
-
translate.setTranslator("ecddda2e-4fc6-4aea-9f17-ef3b56d7377a");
|
|
333
|
-
translate.setHandler("error", () => {});
|
|
334
|
-
translate.setHandler("itemDone", (obj, item) => {
|
|
335
|
-
// NOTE: Attachment is handled by the arXiv.org search translator
|
|
336
|
-
item.complete();
|
|
337
|
-
});
|
|
338
|
-
translate.setSearch({ arXiv: eprintID });
|
|
339
|
-
Z.debug(`Trying ArXiv search for ${row.directLink}`);
|
|
340
|
-
return translate.translate();
|
|
341
|
-
}
|
|
342
|
-
|
|
343
|
-
function scrapeGoogleScholar(row, referrerURL) {
|
|
344
|
-
// URL of the citation-info page fragment for the current row
|
|
345
|
-
let citeURL;
|
|
346
|
-
|
|
347
|
-
if (referrerURL.searchParams.get("scilib") === "1") { // My Library
|
|
348
|
-
citeURL = `${GS_CONFIG.baseURL}/scholar?scila=${row.id}&output=cite&scirp=0&hl=${GS_CONFIG.lang}`;
|
|
349
|
-
}
|
|
350
|
-
else { // Normal search page
|
|
351
|
-
citeURL = `${GS_CONFIG.baseURL}/scholar?q=info:${row.id}:scholar.google.com/&output=cite&scirp=0&hl=${GS_CONFIG.lang}`;
|
|
352
|
-
}
|
|
353
|
-
|
|
354
|
-
Z.debug(`Falling back to Google Scholar scraping for ${row.directLink || "citation-only entry"}`);
|
|
355
|
-
return processCitePage(citeURL, row, referrerURL.href);
|
|
356
|
-
}
|
|
357
|
-
|
|
358
|
-
/*
|
|
359
|
-
* #########################
|
|
360
|
-
* ### Scraper Functions ###
|
|
361
|
-
* #########################
|
|
362
|
-
*/
|
|
363
|
-
|
|
364
|
-
var bogusItemID = 1;
|
|
365
|
-
|
|
366
|
-
var scrapeCase = function (doc, url) {
|
|
367
|
-
// Citelet is identified by
|
|
368
|
-
// id="gsl_reference"
|
|
369
|
-
var refFrag = doc.evaluate('//div[@id="gsl_reference"] | //div[@id="gs_reference"]',
|
|
370
|
-
doc, null, XPathResult.ANY_TYPE, null).iterateNext();
|
|
371
|
-
if (refFrag) {
|
|
372
|
-
// citelet looks kind of like this
|
|
373
|
-
// Powell v. McCormack, 395 US 486 - Supreme Court 1969
|
|
374
|
-
var attachmentPointer = url;
|
|
375
|
-
if (Zotero.isMLZ) {
|
|
376
|
-
var block = doc.getElementById("gs_opinion_wrapper");
|
|
377
|
-
if (block) {
|
|
378
|
-
attachmentPointer = block;
|
|
379
|
-
}
|
|
380
|
-
}
|
|
381
|
-
var factory = new ItemFactory(doc, refFrag.textContent, [attachmentPointer]);
|
|
382
|
-
factory.repairCitelet();
|
|
383
|
-
factory.getDate();
|
|
384
|
-
factory.getCourt();
|
|
385
|
-
factory.getVolRepPag();
|
|
386
|
-
if (!factory.hasReporter()) {
|
|
387
|
-
// Look for docket number in the current document
|
|
388
|
-
factory.getDocketNumber(doc);
|
|
389
|
-
}
|
|
390
|
-
factory.getTitle();
|
|
391
|
-
factory.saveItem();
|
|
392
|
-
}
|
|
393
|
-
};
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
/*
|
|
397
|
-
* ####################
|
|
398
|
-
* ### Item Factory ###
|
|
399
|
-
* ####################
|
|
400
|
-
*/
|
|
401
|
-
|
|
402
|
-
var ItemFactory = function (doc, citeletString, attachmentLinks, titleString /* , bibtexLink*/) {
|
|
403
|
-
// var strings
|
|
404
|
-
this.v = {};
|
|
405
|
-
this.v.title = titleString;
|
|
406
|
-
this.v.number = false;
|
|
407
|
-
this.v.court = false;
|
|
408
|
-
this.v.extra = false;
|
|
409
|
-
this.v.date = undefined;
|
|
410
|
-
this.v.jurisdiction = false;
|
|
411
|
-
this.v.docketNumber = false;
|
|
412
|
-
this.vv = {};
|
|
413
|
-
this.vv.volRepPag = [];
|
|
414
|
-
// portable array
|
|
415
|
-
this.attachmentLinks = attachmentLinks;
|
|
416
|
-
this.doc = doc;
|
|
417
|
-
// working strings
|
|
418
|
-
this.citelet = citeletString;
|
|
419
|
-
|
|
420
|
-
/** handled outside of item factory
|
|
421
|
-
this.bibtexLink = bibtexLink;
|
|
422
|
-
this.bibtexData = undefined;
|
|
423
|
-
*/
|
|
424
|
-
this.trailingInfo = false;
|
|
425
|
-
// simple arrays of strings
|
|
426
|
-
this.hyphenSplit = false;
|
|
427
|
-
this.commaSplit = false;
|
|
428
|
-
};
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
ItemFactory.prototype.repairCitelet = function () {
|
|
432
|
-
if (!this.citelet.match(/\s+-\s+/)) {
|
|
433
|
-
this.citelet = this.citelet.replace(/,\s+([A-Z][a-z]+:)/, " - $1");
|
|
434
|
-
}
|
|
435
|
-
};
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
ItemFactory.prototype.repairTitle = function () {
|
|
439
|
-
// All-caps words of four or more characters probably need fixing.
|
|
440
|
-
if (this.v.title.match(/(?:[^a-z]|^)[A-Z]{4,}(?:[^a-z]|$)/)) {
|
|
441
|
-
this.v.title = ZU.capitalizeTitle(this.v.title.toLowerCase(), true)
|
|
442
|
-
.replace(/([^0-9a-z])V([^0-9a-z])/, "$1v$2");
|
|
443
|
-
}
|
|
444
|
-
};
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
ItemFactory.prototype.hasUsefulData = function () {
|
|
448
|
-
if (this.getDate()) {
|
|
449
|
-
return true;
|
|
450
|
-
}
|
|
451
|
-
if (this.hasInitials()) {
|
|
452
|
-
return true;
|
|
453
|
-
}
|
|
454
|
-
return false;
|
|
455
|
-
};
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
ItemFactory.prototype.hasInitials = function () {
|
|
459
|
-
if (this.hyphenSplit.length && this.hyphenSplit[0].match(/[A-Z] /)) {
|
|
460
|
-
return true;
|
|
461
|
-
}
|
|
462
|
-
return false;
|
|
463
|
-
};
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
ItemFactory.prototype.hasReporter = function () {
|
|
467
|
-
if (this.vv.volRepPag.length > 0) {
|
|
468
|
-
return true;
|
|
469
|
-
}
|
|
470
|
-
return false;
|
|
471
|
-
};
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
ItemFactory.prototype.getDate = function () {
|
|
475
|
-
var i, m;
|
|
476
|
-
// Citelet parsing, step (1)
|
|
477
|
-
if (!this.hyphenSplit) {
|
|
478
|
-
if (this.citelet.match(/\s+-\s+/)) {
|
|
479
|
-
this.hyphenSplit = this.citelet.split(/\s+-\s+/);
|
|
480
|
-
}
|
|
481
|
-
else {
|
|
482
|
-
m = this.citelet.match(/^(.*),\s+([^,]+Court,\s+[^,]+)$/);
|
|
483
|
-
if (m) {
|
|
484
|
-
this.hyphenSplit = [m[1], m[2]];
|
|
485
|
-
}
|
|
486
|
-
else {
|
|
487
|
-
this.hyphenSplit = [this.citelet];
|
|
488
|
-
}
|
|
489
|
-
}
|
|
490
|
-
this.trailingInfo = this.hyphenSplit.slice(-1);
|
|
491
|
-
}
|
|
492
|
-
if (!this.v.date && this.v.date !== false) {
|
|
493
|
-
this.v.date = false;
|
|
494
|
-
for (i = this.hyphenSplit.length - 1; i > -1; i += -1) {
|
|
495
|
-
m = this.hyphenSplit[i].match(/(?:(.*)\s+)*([0-9]{4})$/);
|
|
496
|
-
if (m) {
|
|
497
|
-
this.v.date = m[2];
|
|
498
|
-
if (m[1]) {
|
|
499
|
-
this.hyphenSplit[i] = m[1];
|
|
500
|
-
}
|
|
501
|
-
else {
|
|
502
|
-
this.hyphenSplit[i] = "";
|
|
503
|
-
}
|
|
504
|
-
this.hyphenSplit = this.hyphenSplit.slice(0, i + 1);
|
|
505
|
-
break;
|
|
506
|
-
}
|
|
507
|
-
}
|
|
508
|
-
}
|
|
509
|
-
// If we can find a more specific date in the case's centered text then use it
|
|
510
|
-
var nodesSnapshot = this.doc.evaluate('//div[@id="gs_opinion"]/center', this.doc, null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null);
|
|
511
|
-
for (var iNode = 0; iNode < nodesSnapshot.snapshotLength; iNode++) {
|
|
512
|
-
var specificDate = nodesSnapshot.snapshotItem(iNode).textContent.trim();
|
|
513
|
-
// Remove the first word through the first space
|
|
514
|
-
// if it starts with "Deci" or it doesn't start with the first three letters of a month
|
|
515
|
-
// and if it doesn't start with Submitted or Argued
|
|
516
|
-
// (So, words like "Decided", "Dated", and "Released" will be removed)
|
|
517
|
-
specificDate = specificDate.replace(/^(?:Deci|(?!Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec|Submitted|Argued))[a-z]+[.:]?\s*/i, "")
|
|
518
|
-
// Remove the trailing period, if it is there
|
|
519
|
-
.replace(/\.$/, "");
|
|
520
|
-
// If the remaining text is a valid date...
|
|
521
|
-
if (!isNaN(Date.parse(specificDate))) {
|
|
522
|
-
// ...then use it
|
|
523
|
-
this.v.date = specificDate;
|
|
524
|
-
break;
|
|
525
|
-
}
|
|
526
|
-
}
|
|
527
|
-
return this.v.date;
|
|
528
|
-
};
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
ItemFactory.prototype.getCourt = function () {
|
|
532
|
-
var s, m;
|
|
533
|
-
// Citelet parsing, step (2)
|
|
534
|
-
s = this.hyphenSplit.pop().replace(/,\s*$/, "").replace(/\u2026\s*$/, "Court");
|
|
535
|
-
var court = null;
|
|
536
|
-
var jurisdiction = null;
|
|
537
|
-
m = s.match(/(.* Court),\s+(.*)/);
|
|
538
|
-
if (m) {
|
|
539
|
-
court = m[1];
|
|
540
|
-
jurisdiction = m[2];
|
|
541
|
-
}
|
|
542
|
-
if (!court) {
|
|
543
|
-
m = s.match(/(?:([a-zA-Z]+):\s*)*(.*)/);
|
|
544
|
-
if (m) {
|
|
545
|
-
court = m[2].replace(/_/g, " ");
|
|
546
|
-
jurisdiction = m[1];
|
|
547
|
-
}
|
|
548
|
-
}
|
|
549
|
-
if (court) {
|
|
550
|
-
this.v.court = court;
|
|
551
|
-
}
|
|
552
|
-
if (jurisdiction) {
|
|
553
|
-
this.v.extra = "Jurisdiction: " + jurisdiction;
|
|
554
|
-
}
|
|
555
|
-
};
|
|
556
|
-
|
|
557
|
-
|
|
558
|
-
ItemFactory.prototype.getVolRepPag = function () {
|
|
559
|
-
var i, m;
|
|
560
|
-
// Citelet parsing, step (3)
|
|
561
|
-
if (this.hyphenSplit.length) {
|
|
562
|
-
this.commaSplit = this.hyphenSplit.slice(-1)[0].split(/\s*,\s+/);
|
|
563
|
-
var gotOne = false;
|
|
564
|
-
for (i = this.commaSplit.length - 1; i > -1; i += -1) {
|
|
565
|
-
m = this.commaSplit[i].match(/^([0-9]+)\s+(.*)\s+(.*)/);
|
|
566
|
-
if (m) {
|
|
567
|
-
var volRepPag = {};
|
|
568
|
-
volRepPag.volume = m[1];
|
|
569
|
-
volRepPag.reporter = m[2];
|
|
570
|
-
volRepPag.pages = m[3].replace(/\s*$/, "");
|
|
571
|
-
this.commaSplit.pop();
|
|
572
|
-
if (!volRepPag.pages.match(/[0-9]$/) && (i > 0 || gotOne)) {
|
|
573
|
-
continue;
|
|
574
|
-
}
|
|
575
|
-
gotOne = true;
|
|
576
|
-
this.vv.volRepPag.push(volRepPag);
|
|
577
|
-
}
|
|
578
|
-
else {
|
|
579
|
-
break;
|
|
580
|
-
}
|
|
581
|
-
}
|
|
582
|
-
}
|
|
583
|
-
};
|
|
584
|
-
|
|
585
|
-
|
|
586
|
-
ItemFactory.prototype.getTitle = function () {
|
|
587
|
-
// Citelet parsing, step (4) [optional]
|
|
588
|
-
if (this.commaSplit) {
|
|
589
|
-
this.v.title = this.commaSplit.join(", ");
|
|
590
|
-
}
|
|
591
|
-
};
|
|
592
|
-
|
|
593
|
-
|
|
594
|
-
ItemFactory.prototype.getDocketNumber = function (doc) {
|
|
595
|
-
var docNumFrag = doc.evaluate(
|
|
596
|
-
'//center[preceding-sibling::center//h3[@id="gsl_case_name"]] | //div[@class="gsc_value" and preceding-sibling::div[text()="Docket id"]]',
|
|
597
|
-
doc, null, XPathResult.ANY_TYPE, null).iterateNext();
|
|
598
|
-
if (docNumFrag) {
|
|
599
|
-
this.v.docketNumber = docNumFrag.textContent
|
|
600
|
-
.replace(/^\s*[Nn][Oo](?:.|\s+)\s*/, "")
|
|
601
|
-
.replace(/\.\s*$/, "");
|
|
602
|
-
}
|
|
603
|
-
};
|
|
604
|
-
|
|
605
|
-
ItemFactory.prototype.getAttachments = function (doctype) {
|
|
606
|
-
var i, ilen, attachments;
|
|
607
|
-
var attachmentTitle = "Google Scholar " + doctype;
|
|
608
|
-
attachments = [];
|
|
609
|
-
for (i = 0, ilen = this.attachmentLinks.length; i < ilen; i += 1) {
|
|
610
|
-
if (!this.attachmentLinks[i]) continue;
|
|
611
|
-
if ("string" === typeof this.attachmentLinks[i]) {
|
|
612
|
-
attachments.push({
|
|
613
|
-
title: attachmentTitle,
|
|
614
|
-
url: this.attachmentLinks[i],
|
|
615
|
-
type: "text/html"
|
|
616
|
-
});
|
|
617
|
-
}
|
|
618
|
-
else {
|
|
619
|
-
// DOM fragment and parent doc
|
|
620
|
-
var block = this.attachmentLinks[i];
|
|
621
|
-
var doc = block.ownerDocument;
|
|
622
|
-
|
|
623
|
-
// String content (title, url, css)
|
|
624
|
-
var title = doc.getElementsByTagName("title")[0].textContent;
|
|
625
|
-
var url = doc.documentURI;
|
|
626
|
-
var css = "*{margin:0;padding:0;}div.mlz-outer{width: 60em;margin:0 auto;text-align:left;}body{text-align:center;}p{margin-top:0.75em;margin-bottom:0.75em;}div.mlz-link-button a{text-decoration:none;background:#cccccc;color:white;border-radius:1em;font-family:sans;padding:0.2em 0.8em 0.2em 0.8em;}div.mlz-link-button a:hover{background:#bbbbbb;}div.mlz-link-button{margin: 0.7em 0 0.8em 0;}";
|
|
627
|
-
|
|
628
|
-
// head element
|
|
629
|
-
var head = doc.createElement("head");
|
|
630
|
-
head.innerHTML = '<title>' + title + '</title>';
|
|
631
|
-
head.innerHTML += '<style type="text/css">' + css + '</style>';
|
|
632
|
-
|
|
633
|
-
var attachmentdoc = Zotero.Utilities.composeDoc(doc, head, block);
|
|
634
|
-
attachments.push({
|
|
635
|
-
title: attachmentTitle,
|
|
636
|
-
document: attachmentdoc
|
|
637
|
-
});
|
|
638
|
-
|
|
639
|
-
// URL for this item
|
|
640
|
-
this.item.url = url;
|
|
641
|
-
}
|
|
642
|
-
}
|
|
643
|
-
return attachments;
|
|
644
|
-
};
|
|
645
|
-
|
|
646
|
-
|
|
647
|
-
ItemFactory.prototype.pushAttachments = function (doctype) {
|
|
648
|
-
this.item.attachments = this.getAttachments(doctype);
|
|
649
|
-
};
|
|
650
|
-
|
|
651
|
-
/*
|
|
652
|
-
ItemFactory.prototype.getBibtexData = function (callback) {
|
|
653
|
-
if (!this.bibtexData) {
|
|
654
|
-
if (this.bibtexData !== false) {
|
|
655
|
-
Zotero.Utilities.doGet(this.bibtexLink, function(bibtexData) {
|
|
656
|
-
if (!bibtexData.match(/title={{}}/)) {
|
|
657
|
-
this.bibtexData = bibtexData;
|
|
658
|
-
} else {
|
|
659
|
-
this.bibtexData = false;
|
|
660
|
-
}
|
|
661
|
-
callback(this.bibtexData);
|
|
662
|
-
});
|
|
663
|
-
return;
|
|
664
|
-
}
|
|
665
|
-
}
|
|
666
|
-
callback(this.bibtexData);
|
|
667
|
-
};
|
|
668
|
-
*/
|
|
669
|
-
|
|
670
|
-
ItemFactory.prototype.saveItem = function () {
|
|
671
|
-
var i, ilen, key;
|
|
672
|
-
if (this.v.title) {
|
|
673
|
-
this.repairTitle();
|
|
674
|
-
if (this.vv.volRepPag.length) {
|
|
675
|
-
var completedItems = [];
|
|
676
|
-
for (i = 0, ilen = this.vv.volRepPag.length; i < ilen; i += 1) {
|
|
677
|
-
this.item = new Zotero.Item("case");
|
|
678
|
-
for (key in this.vv.volRepPag[i]) {
|
|
679
|
-
if (this.vv.volRepPag[i][key]) {
|
|
680
|
-
this.item[key] = this.vv.volRepPag[i][key];
|
|
681
|
-
}
|
|
682
|
-
}
|
|
683
|
-
this.saveItemCommonVars();
|
|
684
|
-
if (i === (this.vv.volRepPag.length - 1)) {
|
|
685
|
-
this.pushAttachments("Judgement");
|
|
686
|
-
}
|
|
687
|
-
this.item.itemID = "" + bogusItemID;
|
|
688
|
-
bogusItemID += 1;
|
|
689
|
-
completedItems.push(this.item);
|
|
690
|
-
}
|
|
691
|
-
if (completedItems.length === 0) {
|
|
692
|
-
throw new Error("Failed to parse \"" + this.citelet + "\"");
|
|
693
|
-
}
|
|
694
|
-
for (i = 0, ilen = completedItems.length; i < ilen; i += 1) {
|
|
695
|
-
for (let j = 0, jlen = completedItems.length; j < jlen; j += 1) {
|
|
696
|
-
if (i === j) {
|
|
697
|
-
continue;
|
|
698
|
-
}
|
|
699
|
-
completedItems[i].seeAlso.push(completedItems[j].itemID);
|
|
700
|
-
}
|
|
701
|
-
completedItems[i].complete();
|
|
702
|
-
}
|
|
703
|
-
}
|
|
704
|
-
else {
|
|
705
|
-
this.item = new Zotero.Item("case");
|
|
706
|
-
this.saveItemCommonVars();
|
|
707
|
-
this.pushAttachments("Judgement");
|
|
708
|
-
this.item.complete();
|
|
709
|
-
}
|
|
710
|
-
}
|
|
711
|
-
else {
|
|
712
|
-
throw new Error("Failed to find title in \"" + this.citelet + "\"");
|
|
713
|
-
}
|
|
714
|
-
};
|
|
715
|
-
|
|
716
|
-
|
|
717
|
-
ItemFactory.prototype.saveItemCommonVars = function () {
|
|
718
|
-
for (let key in this.v) {
|
|
719
|
-
if (this.v[key]) {
|
|
720
|
-
this.item[key] = this.v[key];
|
|
721
|
-
}
|
|
722
|
-
}
|
|
723
|
-
};
|
|
724
|
-
|
|
725
|
-
|
|
726
|
-
/*
|
|
727
|
-
* #########################
|
|
728
|
-
* ### Utility Functions ###
|
|
729
|
-
* #########################
|
|
730
|
-
*/
|
|
731
|
-
|
|
732
|
-
// Returns a promise that resolves (to undefined) after the minimum time delay
|
|
733
|
-
// specified in milliseconds
|
|
734
|
-
function delay(ms) {
|
|
735
|
-
return new Promise(resolve => setTimeout(resolve, ms));
|
|
736
|
-
}
|
|
737
|
-
|
|
738
|
-
// Identification functions for external searches
|
|
739
|
-
|
|
740
|
-
/**
|
|
741
|
-
* Extract candidate DOI from row by parsing its direct-link URL
|
|
742
|
-
*
|
|
743
|
-
* @param {RowObj} row
|
|
744
|
-
* @returns {string?} Candidate DOI string, or null if not found
|
|
745
|
-
*/
|
|
746
|
-
function extractDOI(row) {
|
|
747
|
-
let path = decodeURIComponent((new URL(row.directLink)).pathname);
|
|
748
|
-
// Normally, match to the end of the path, because we couldn't have known
|
|
749
|
-
// better.
|
|
750
|
-
// But we can try clean up a bit, for common file extensions tacked to the
|
|
751
|
-
// end, e.g. the link in the header title of
|
|
752
|
-
// https://scholar.google.com/citations?view_op=view_citation&hl=en&user=Cz6X6UYAAAAJ&citation_for_view=Cz6X6UYAAAAJ:zYLM7Y9cAGgC
|
|
753
|
-
// https://www.nomos-elibrary.de/10.5771/9783845229614-153.pdf
|
|
754
|
-
let m = path.match(/(10\.\d{4,}\/.+?)(?:[./](?:pdf|htm|html|xhtml|epub|xml))?$/i);
|
|
755
|
-
return m && m[1];
|
|
756
|
-
}
|
|
757
|
-
|
|
758
|
-
/**
|
|
759
|
-
* Extract arXiv ID from row by parsing its direct-link URL
|
|
760
|
-
*
|
|
761
|
-
* @param {RowObj} row
|
|
762
|
-
* @returns {string?} ArXiv ID, or null if not found
|
|
763
|
-
*/
|
|
764
|
-
function extractArXiv(row) {
|
|
765
|
-
let urlObj = new URL(row.directLink);
|
|
766
|
-
if (urlObj.hostname.toLowerCase() !== "arxiv.org") {
|
|
767
|
-
return null;
|
|
768
|
-
}
|
|
769
|
-
let path = decodeURIComponent(urlObj.pathname);
|
|
770
|
-
let m = path.match(/\/\w+\/([a-z-]+\/\d+|\d+\.\d+)$/i);
|
|
771
|
-
return m && m[1];
|
|
772
|
-
}
|
|
773
|
-
|
|
774
|
-
// Page-processing utilities
|
|
775
|
-
|
|
776
|
-
/**
|
|
777
|
-
* Returns an emulated search URL for a GS search with the profile name as the
|
|
778
|
-
* search term
|
|
779
|
-
*
|
|
780
|
-
* @param {string} profileName - Name of the profile's owner
|
|
781
|
-
* @returns {URL}
|
|
782
|
-
*/
|
|
783
|
-
function getEmulatedSearchURL(profileName) {
|
|
784
|
-
return new URL(`/scholar?hl=${GS_CONFIG.lang}&as_sdt=0%2C5&q=${encodeURIComponent(profileName).replace(/%20/g, "+")}&btnG=`, GS_CONFIG.baseURL);
|
|
785
|
-
}
|
|
786
|
-
|
|
787
|
-
/**
|
|
788
|
-
* Parse the "View article" page and returns the equivalent of a GS
|
|
789
|
-
* search-result row
|
|
790
|
-
*
|
|
791
|
-
* @param {Document} viewArticleDoc - "View article" document
|
|
792
|
-
* @returns {RowObj?} The row object, or null if parsing failed.
|
|
793
|
-
*/
|
|
794
|
-
function parseViewArticle(viewArticleDoc) {
|
|
795
|
-
let related = ZU.xpathText(viewArticleDoc,
|
|
796
|
-
'//a[contains(@href, "q=related:")]/@href');
|
|
797
|
-
if (!related) {
|
|
798
|
-
Z.debug("Could not locate 'related' link on the 'View article' page.");
|
|
799
|
-
return null;
|
|
800
|
-
}
|
|
801
|
-
|
|
802
|
-
let m = related.match(/=related:([^:]+):/); // GS id
|
|
803
|
-
if (m) {
|
|
804
|
-
let id = m[1];
|
|
805
|
-
let directLink = attr(viewArticleDoc, ".gsc_oci_title_link", "href");
|
|
806
|
-
let attachmentLink = attr(viewArticleDoc, "#gsc_oci_title_gg a", "href");
|
|
807
|
-
let attachmentType = text(viewArticleDoc, ".gsc_vcd_title_ggt");
|
|
808
|
-
if (attachmentType) {
|
|
809
|
-
attachmentType = attachmentType.slice(1, -1).toUpperCase();
|
|
810
|
-
}
|
|
811
|
-
return { id, directLink, attachmentLink, attachmentType };
|
|
812
|
-
}
|
|
813
|
-
else {
|
|
814
|
-
Z.debug("Unexpected format of 'related' URL; can't find Google Scholar id. 'related' URL is " + related);
|
|
815
|
-
return null;
|
|
816
|
-
}
|
|
817
|
-
}
|
|
818
|
-
|
|
819
|
-
/**
|
|
820
|
-
* Request and read the page-fragment with citation info, retrieve BibTeX, and
|
|
821
|
-
* import. Each call sends two network requests, and each request is preceded
|
|
822
|
-
* by a delay.
|
|
823
|
-
*
|
|
824
|
-
* @param {string} citeURL - The citation-info page fragment's URL, to be
|
|
825
|
-
* requested.
|
|
826
|
-
* @param {RowObj} row - The row object carrying the information of the entry's
|
|
827
|
-
* identity.
|
|
828
|
-
* @param {string} referrer - The referrer for the citation-info page fragment
|
|
829
|
-
* request.
|
|
830
|
-
*/
|
|
831
|
-
async function processCitePage(citeURL, row, referrer) {
|
|
832
|
-
let requestOptions = { headers: { Referer: referrer } };
|
|
833
|
-
// Note that the page at citeURL has no doctype and is not a complete HTML
|
|
834
|
-
// document. The browser can parse it in quirks mode but ZU.requestDocument
|
|
835
|
-
// has trouble with it.
|
|
836
|
-
await delay(DELAY_INTERVAL);
|
|
837
|
-
const citePage = await requestText(citeURL, requestOptions);
|
|
838
|
-
|
|
839
|
-
let m = citePage.match(/href="((https?:\/\/[a-z.]*)?\/scholar.bib\?[^"]+)/);
|
|
840
|
-
if (!m) {
|
|
841
|
-
// Saved lists and possibly other places have different formats for
|
|
842
|
-
// BibTeX URLs
|
|
843
|
-
// Trying to catch them here (can't add test bc lists are tied to
|
|
844
|
-
// google accounts)
|
|
845
|
-
m = citePage.match(/href="(.+?)">BibTeX<\/a>/);
|
|
846
|
-
}
|
|
847
|
-
if (!m) {
|
|
848
|
-
var msg = "Could not find BibTeX URL";
|
|
849
|
-
var title = citePage.match(/<title>(.*?)<\/title>/i);
|
|
850
|
-
if (title) {
|
|
851
|
-
msg += ' Got page with title "' + title[1] + '"';
|
|
852
|
-
}
|
|
853
|
-
throw new Error(msg);
|
|
854
|
-
}
|
|
855
|
-
const bibTeXURL = ZU.unescapeHTML(m[1]);
|
|
856
|
-
|
|
857
|
-
// Pause between obtaining the citation info page and sending the request
|
|
858
|
-
// for the BibTeX document
|
|
859
|
-
await delay(DELAY_INTERVAL);
|
|
860
|
-
|
|
861
|
-
// NOTE: To emulate the web app, the referrer for the BibTeX text is always
|
|
862
|
-
// set to the origin (e.g. https://scholar.google.com/), imitating
|
|
863
|
-
// strict-origin-when-cross-origin
|
|
864
|
-
requestOptions.headers.Referer = GS_CONFIG.baseURL + "/";
|
|
865
|
-
const bibTeXBody = await requestText(bibTeXURL, requestOptions);
|
|
866
|
-
|
|
867
|
-
let translator = Z.loadTranslator("import");
|
|
868
|
-
translator.setTranslator("9cb70025-a888-4a29-a210-93ec52da40d4"); // BibTeX
|
|
869
|
-
translator.setString(bibTeXBody);
|
|
870
|
-
translator.setHandler("itemDone", function (obj, item) {
|
|
871
|
-
// case are not recognized and can be characterized by the
|
|
872
|
-
// title link, or that the second line starts with a number
|
|
873
|
-
// e.g. 1 Cr. 137 - Supreme Court, 1803
|
|
874
|
-
if ((row.directLink && row.directLink.includes('/scholar_case?'))
|
|
875
|
-
|| row.byline && "01234567890".includes(row.byline[0])) {
|
|
876
|
-
item.itemType = "case";
|
|
877
|
-
item.caseName = item.title;
|
|
878
|
-
item.reporter = item.publicationTitle;
|
|
879
|
-
item.reporterVolume = item.volume;
|
|
880
|
-
item.dateDecided = item.date;
|
|
881
|
-
item.court = item.publisher;
|
|
882
|
-
}
|
|
883
|
-
// patents are not recognized but are easily detected
|
|
884
|
-
// by the titleLink or second line
|
|
885
|
-
if ((row.directLink && row.directLink.includes('google.com/patents/'))
|
|
886
|
-
|| (row.byline && row.byline.includes('Google Patents'))) {
|
|
887
|
-
item.itemType = "patent";
|
|
888
|
-
// authors are inventors
|
|
889
|
-
for (let i = 0, n = item.creators.length; i < n; i++) {
|
|
890
|
-
item.creators[i].creatorType = 'inventor';
|
|
891
|
-
}
|
|
892
|
-
// country and patent number
|
|
893
|
-
if (row.directLink) {
|
|
894
|
-
let m = row.directLink.match(/\/patents\/([A-Za-z]+)(.*)$/);
|
|
895
|
-
if (m) {
|
|
896
|
-
item.country = m[1];
|
|
897
|
-
item.patentNumber = m[2];
|
|
898
|
-
}
|
|
899
|
-
}
|
|
900
|
-
}
|
|
901
|
-
|
|
902
|
-
// Add the title link as the url of the item
|
|
903
|
-
if (row.directLink) {
|
|
904
|
-
item.url = row.directLink;
|
|
905
|
-
}
|
|
906
|
-
|
|
907
|
-
// fix titles in all upper case, e.g. some patents in search results
|
|
908
|
-
if (item.title.toUpperCase() === item.title) {
|
|
909
|
-
item.title = ZU.capitalizeTitle(item.title);
|
|
910
|
-
}
|
|
911
|
-
|
|
912
|
-
// delete "others" as author
|
|
913
|
-
if (item.creators.length) {
|
|
914
|
-
var lastCreatorIndex = item.creators.length - 1,
|
|
915
|
-
lastCreator = item.creators[lastCreatorIndex];
|
|
916
|
-
if (lastCreator.lastName === "others" && (lastCreator.fieldMode === 1 || lastCreator.firstName === "")) {
|
|
917
|
-
item.creators.splice(lastCreatorIndex, 1);
|
|
918
|
-
}
|
|
919
|
-
}
|
|
920
|
-
|
|
921
|
-
// clean author names
|
|
922
|
-
for (let j = 0, m = item.creators.length; j < m; j++) {
|
|
923
|
-
if (!item.creators[j].firstName) {
|
|
924
|
-
continue;
|
|
925
|
-
}
|
|
926
|
-
|
|
927
|
-
item.creators[j] = ZU.cleanAuthor(
|
|
928
|
-
item.creators[j].lastName + ', '
|
|
929
|
-
+ item.creators[j].firstName,
|
|
930
|
-
item.creators[j].creatorType,
|
|
931
|
-
true);
|
|
932
|
-
}
|
|
933
|
-
|
|
934
|
-
addAttachment(item, row);
|
|
935
|
-
|
|
936
|
-
item.complete();
|
|
937
|
-
});
|
|
938
|
-
return translator.translate();
|
|
939
|
-
}
|
|
940
|
-
|
|
941
|
-
function addAttachment(item, row) {
|
|
942
|
-
// attach linked document as attachment if available
|
|
943
|
-
if (row.attachmentLink) {
|
|
944
|
-
let attachment = {
|
|
945
|
-
title: "Available Version (via Google Scholar)",
|
|
946
|
-
url: row.attachmentLink,
|
|
947
|
-
};
|
|
948
|
-
let mimeType = MIME_TYPES[row.attachmentType];
|
|
949
|
-
if (mimeType) {
|
|
950
|
-
attachment.mimeType = mimeType;
|
|
951
|
-
}
|
|
952
|
-
item.attachments.push(attachment);
|
|
953
|
-
}
|
|
954
|
-
}
|
|
955
|
-
|
|
956
|
-
/*
|
|
957
|
-
Test Case Descriptions: (these have not been included in the test case JSON below as per
|
|
958
|
-
aurimasv's comment on https://github.com/zotero/translators/pull/833)
|
|
959
|
-
|
|
960
|
-
"description": "Legacy test case",
|
|
961
|
-
"url": "http://scholar.google.com/scholar?q=marbury&hl=en&btnG=Search&as_sdt=1%2C22&as_sdtp=on",
|
|
962
|
-
|
|
963
|
-
"description": "Legacy test case",
|
|
964
|
-
"url": "http://scholar.google.com/scholar?hl=en&q=kelo&btnG=Search&as_sdt=0%2C22&as_ylo=&as_vis=0",
|
|
965
|
-
|
|
966
|
-
"description": "Legacy test case",
|
|
967
|
-
"url": "http://scholar.google.com/scholar?hl=en&q=smith&btnG=Search&as_sdt=0%2C22&as_ylo=&as_vis=0",
|
|
968
|
-
|
|
969
|
-
"description": "Legacy test case",
|
|
970
|
-
"url": "http://scholar.google.com/scholar?hl=en&q=view+of+the+cathedral&btnG=Search&as_sdt=0%2C22&as_ylo=&as_vis=0",
|
|
971
|
-
|
|
972
|
-
"description": "Legacy test case",
|
|
973
|
-
"url": "http://scholar.google.com/scholar?hl=en&q=clifford&btnG=Search&as_sdt=0%2C22&as_ylo=&as_vis=0",
|
|
974
|
-
|
|
975
|
-
"description": "Legacy test case",
|
|
976
|
-
"url": "http://scholar.google.com/scholar_case?case=9834052745083343188&q=marbury+v+madison&hl=en&as_sdt=2,5",
|
|
977
|
-
|
|
978
|
-
"description": "Decided date not preceded by any word or any other date line",
|
|
979
|
-
"url": "http://scholar.google.com/scholar_case?case=11350538941232186766",
|
|
980
|
-
|
|
981
|
-
"description": "Decided date preceded by 'Dated'",
|
|
982
|
-
"url": "http://scholar.google.com/scholar_case?case=4250138655935640563",
|
|
983
|
-
|
|
984
|
-
"description": "Decided date preceded by 'Released'",
|
|
985
|
-
"url": "http://scholar.google.com/scholar_case?case=8121501341214166807",
|
|
986
|
-
|
|
987
|
-
"description": "Decided date preceded by 'Decided' and also by a 'Submitted' date line",
|
|
988
|
-
"url": "http://scholar.google.com/scholar_case?case=834584264358299037",
|
|
989
|
-
|
|
990
|
-
"description": "Decided date preceded by 'Decided' and also by an 'Argued' date line",
|
|
991
|
-
"url": "http://scholar.google.com/scholar_case?case=15235797139493194004",
|
|
992
|
-
|
|
993
|
-
"description": "Decided date preceded by 'Decided' and also by an 'Argued' date line and followed by an 'As Modified' line; most citers of this case appear to use the Decided date, not the As Modified date",
|
|
994
|
-
"url": "http://scholar.google.com/scholar_case?case=163483131267446711",
|
|
995
|
-
|
|
996
|
-
*/
|
|
997
|
-
|
|
998
|
-
/** BEGIN TEST CASES **/
|
|
999
|
-
var testCases = [
|
|
1000
|
-
{
|
|
1001
|
-
"type": "web",
|
|
1002
|
-
"url": "http://scholar.google.com/scholar?q=marbury&hl=en&btnG=Search&as_sdt=1%2C22&as_sdtp=on",
|
|
1003
|
-
"items": "multiple"
|
|
1004
|
-
},
|
|
1005
|
-
{
|
|
1006
|
-
"type": "web",
|
|
1007
|
-
"url": "http://scholar.google.com/scholar?hl=en&q=kelo&btnG=Search&as_sdt=0%2C22&as_ylo=&as_vis=0",
|
|
1008
|
-
"items": "multiple"
|
|
1009
|
-
},
|
|
1010
|
-
{
|
|
1011
|
-
"type": "web",
|
|
1012
|
-
"url": "http://scholar.google.com/scholar?hl=en&q=smith&btnG=Search&as_sdt=0%2C22&as_ylo=&as_vis=0",
|
|
1013
|
-
"items": "multiple"
|
|
1014
|
-
},
|
|
1015
|
-
{
|
|
1016
|
-
"type": "web",
|
|
1017
|
-
"url": "http://scholar.google.com/scholar?hl=en&q=view+of+the+cathedral&btnG=Search&as_sdt=0%2C22&as_ylo=&as_vis=0",
|
|
1018
|
-
"items": "multiple"
|
|
1019
|
-
},
|
|
1020
|
-
{
|
|
1021
|
-
"type": "web",
|
|
1022
|
-
"url": "http://scholar.google.com/scholar?hl=en&q=clifford&btnG=Search&as_sdt=0%2C22&as_ylo=&as_vis=0",
|
|
1023
|
-
"items": "multiple"
|
|
1024
|
-
},
|
|
1025
|
-
{
|
|
1026
|
-
"type": "web",
|
|
1027
|
-
"url": "http://scholar.google.com/scholar_case?case=9834052745083343188&q=marbury+v+madison&hl=en&as_sdt=2,5",
|
|
1028
|
-
"items": [
|
|
1029
|
-
{
|
|
1030
|
-
"itemType": "case",
|
|
1031
|
-
"caseName": "Marbury v. Madison",
|
|
1032
|
-
"creators": [],
|
|
1033
|
-
"dateDecided": "1803",
|
|
1034
|
-
"court": "Supreme Court",
|
|
1035
|
-
"firstPage": "137",
|
|
1036
|
-
"itemID": "1",
|
|
1037
|
-
"reporter": "US",
|
|
1038
|
-
"reporterVolume": "5",
|
|
1039
|
-
"attachments": [
|
|
1040
|
-
{
|
|
1041
|
-
"title": "Google Scholar Judgement",
|
|
1042
|
-
"type": "text/html"
|
|
1043
|
-
}
|
|
1044
|
-
],
|
|
1045
|
-
"tags": [],
|
|
1046
|
-
"notes": [],
|
|
1047
|
-
"seeAlso": []
|
|
1048
|
-
}
|
|
1049
|
-
]
|
|
1050
|
-
},
|
|
1051
|
-
{
|
|
1052
|
-
"type": "web",
|
|
1053
|
-
"url": "http://scholar.google.com/scholar_case?case=11350538941232186766",
|
|
1054
|
-
"items": [
|
|
1055
|
-
{
|
|
1056
|
-
"itemType": "case",
|
|
1057
|
-
"caseName": "Meier ex rel. Meier v. Sun Intern. Hotels, Ltd.",
|
|
1058
|
-
"creators": [],
|
|
1059
|
-
"dateDecided": "April 19, 2002",
|
|
1060
|
-
"court": "Court of Appeals, 11th Circuit",
|
|
1061
|
-
"firstPage": "1264",
|
|
1062
|
-
"itemID": "1",
|
|
1063
|
-
"reporter": "F. 3d",
|
|
1064
|
-
"reporterVolume": "288",
|
|
1065
|
-
"attachments": [
|
|
1066
|
-
{
|
|
1067
|
-
"title": "Google Scholar Judgement",
|
|
1068
|
-
"type": "text/html"
|
|
1069
|
-
}
|
|
1070
|
-
],
|
|
1071
|
-
"tags": [],
|
|
1072
|
-
"notes": [],
|
|
1073
|
-
"seeAlso": []
|
|
1074
|
-
}
|
|
1075
|
-
]
|
|
1076
|
-
},
|
|
1077
|
-
{
|
|
1078
|
-
"type": "web",
|
|
1079
|
-
"url": "http://scholar.google.com/scholar_case?case=4250138655935640563",
|
|
1080
|
-
"items": [
|
|
1081
|
-
{
|
|
1082
|
-
"itemType": "case",
|
|
1083
|
-
"caseName": "Patio Enclosures, Inc. v. Four Seasons Marketing Corp.",
|
|
1084
|
-
"creators": [],
|
|
1085
|
-
"dateDecided": "September 21, 2005",
|
|
1086
|
-
"court": "Court of Appeals, 9th Appellate Dist.",
|
|
1087
|
-
"extra": "Jurisdiction: Ohio",
|
|
1088
|
-
"firstPage": "4933",
|
|
1089
|
-
"itemID": "1",
|
|
1090
|
-
"reporter": "Ohio",
|
|
1091
|
-
"reporterVolume": "2005",
|
|
1092
|
-
"attachments": [
|
|
1093
|
-
{
|
|
1094
|
-
"title": "Google Scholar Judgement",
|
|
1095
|
-
"type": "text/html"
|
|
1096
|
-
}
|
|
1097
|
-
],
|
|
1098
|
-
"tags": [],
|
|
1099
|
-
"notes": [],
|
|
1100
|
-
"seeAlso": []
|
|
1101
|
-
}
|
|
1102
|
-
]
|
|
1103
|
-
},
|
|
1104
|
-
{
|
|
1105
|
-
"type": "web",
|
|
1106
|
-
"url": "http://scholar.google.com/scholar_case?case=8121501341214166807",
|
|
1107
|
-
"items": [
|
|
1108
|
-
{
|
|
1109
|
-
"itemType": "case",
|
|
1110
|
-
"caseName": "Click v. Estate of Click",
|
|
1111
|
-
"creators": [],
|
|
1112
|
-
"dateDecided": "June 13, 2007",
|
|
1113
|
-
"court": "Court of Appeals, 4th Appellate Dist.",
|
|
1114
|
-
"extra": "Jurisdiction: Ohio",
|
|
1115
|
-
"firstPage": "3029",
|
|
1116
|
-
"itemID": "1",
|
|
1117
|
-
"reporter": "Ohio",
|
|
1118
|
-
"reporterVolume": "2007",
|
|
1119
|
-
"attachments": [
|
|
1120
|
-
{
|
|
1121
|
-
"title": "Google Scholar Judgement",
|
|
1122
|
-
"type": "text/html"
|
|
1123
|
-
}
|
|
1124
|
-
],
|
|
1125
|
-
"tags": [],
|
|
1126
|
-
"notes": [],
|
|
1127
|
-
"seeAlso": []
|
|
1128
|
-
}
|
|
1129
|
-
]
|
|
1130
|
-
},
|
|
1131
|
-
{
|
|
1132
|
-
"type": "web",
|
|
1133
|
-
"url": "http://scholar.google.com/scholar_case?case=834584264358299037",
|
|
1134
|
-
"items": [
|
|
1135
|
-
{
|
|
1136
|
-
"itemType": "case",
|
|
1137
|
-
"caseName": "Kenty v. Transamerica Premium Ins. Co.",
|
|
1138
|
-
"creators": [],
|
|
1139
|
-
"dateDecided": "July 5, 1995",
|
|
1140
|
-
"court": "Supreme Court",
|
|
1141
|
-
"extra": "Jurisdiction: Ohio",
|
|
1142
|
-
"firstPage": "415",
|
|
1143
|
-
"itemID": "1",
|
|
1144
|
-
"reporter": "Ohio St. 3d",
|
|
1145
|
-
"reporterVolume": "72",
|
|
1146
|
-
"attachments": [
|
|
1147
|
-
{
|
|
1148
|
-
"title": "Google Scholar Judgement",
|
|
1149
|
-
"type": "text/html"
|
|
1150
|
-
}
|
|
1151
|
-
],
|
|
1152
|
-
"tags": [],
|
|
1153
|
-
"notes": [],
|
|
1154
|
-
"seeAlso": []
|
|
1155
|
-
}
|
|
1156
|
-
]
|
|
1157
|
-
},
|
|
1158
|
-
{
|
|
1159
|
-
"type": "web",
|
|
1160
|
-
"url": "http://scholar.google.com/scholar_case?case=15235797139493194004",
|
|
1161
|
-
"items": [
|
|
1162
|
-
{
|
|
1163
|
-
"itemType": "case",
|
|
1164
|
-
"caseName": "Tinker v. Des Moines Independent Community School Dist.",
|
|
1165
|
-
"creators": [],
|
|
1166
|
-
"dateDecided": "February 24, 1969",
|
|
1167
|
-
"court": "Supreme Court",
|
|
1168
|
-
"firstPage": "503",
|
|
1169
|
-
"itemID": "1",
|
|
1170
|
-
"reporter": "US",
|
|
1171
|
-
"reporterVolume": "393",
|
|
1172
|
-
"attachments": [
|
|
1173
|
-
{
|
|
1174
|
-
"title": "Google Scholar Judgement",
|
|
1175
|
-
"type": "text/html"
|
|
1176
|
-
}
|
|
1177
|
-
],
|
|
1178
|
-
"tags": [],
|
|
1179
|
-
"notes": [],
|
|
1180
|
-
"seeAlso": []
|
|
1181
|
-
}
|
|
1182
|
-
]
|
|
1183
|
-
},
|
|
1184
|
-
{
|
|
1185
|
-
"type": "web",
|
|
1186
|
-
"url": "http://scholar.google.com/scholar_case?case=163483131267446711",
|
|
1187
|
-
"items": [
|
|
1188
|
-
{
|
|
1189
|
-
"itemType": "case",
|
|
1190
|
-
"caseName": "Kaimowitz v. Board of Trustees of U. of Illinois",
|
|
1191
|
-
"creators": [],
|
|
1192
|
-
"dateDecided": "December 23, 1991",
|
|
1193
|
-
"court": "Court of Appeals, 7th Circuit",
|
|
1194
|
-
"firstPage": "765",
|
|
1195
|
-
"itemID": "1",
|
|
1196
|
-
"reporter": "F. 2d",
|
|
1197
|
-
"reporterVolume": "951",
|
|
1198
|
-
"attachments": [
|
|
1199
|
-
{
|
|
1200
|
-
"title": "Google Scholar Judgement",
|
|
1201
|
-
"type": "text/html"
|
|
1202
|
-
}
|
|
1203
|
-
],
|
|
1204
|
-
"tags": [],
|
|
1205
|
-
"notes": [],
|
|
1206
|
-
"seeAlso": []
|
|
1207
|
-
}
|
|
1208
|
-
]
|
|
1209
|
-
},
|
|
1210
|
-
{
|
|
1211
|
-
"type": "web",
|
|
1212
|
-
"url": "https://scholar.google.com/scholar_case?case=608089472037924072",
|
|
1213
|
-
"items": [
|
|
1214
|
-
{
|
|
1215
|
-
"itemType": "case",
|
|
1216
|
-
"caseName": "Kline v. Mortgage Electronic Security Systems",
|
|
1217
|
-
"creators": [],
|
|
1218
|
-
"dateDecided": "February 27, 2013",
|
|
1219
|
-
"court": "Dist. Court",
|
|
1220
|
-
"docketNumber": "Case No. 3:08cv408",
|
|
1221
|
-
"extra": "Jurisdiction: SD Ohio",
|
|
1222
|
-
"attachments": [
|
|
1223
|
-
{
|
|
1224
|
-
"title": "Google Scholar Judgement",
|
|
1225
|
-
"type": "text/html"
|
|
1226
|
-
}
|
|
1227
|
-
],
|
|
1228
|
-
"tags": [],
|
|
1229
|
-
"notes": [],
|
|
1230
|
-
"seeAlso": []
|
|
1231
|
-
}
|
|
1232
|
-
]
|
|
1233
|
-
},
|
|
1234
|
-
{
|
|
1235
|
-
"type": "web",
|
|
1236
|
-
"url": "https://scholar.google.de/citations?view_op=view_citation&hl=de&user=INQwsQkAAAAJ&citation_for_view=INQwsQkAAAAJ:u5HHmVD_uO8C",
|
|
1237
|
-
"detectedItemType": "journalArticle",
|
|
1238
|
-
"items": [
|
|
1239
|
-
{
|
|
1240
|
-
"itemType": "bookSection",
|
|
1241
|
-
"title": "Linked data: The story so far",
|
|
1242
|
-
"creators": [
|
|
1243
|
-
{
|
|
1244
|
-
"firstName": "Christian",
|
|
1245
|
-
"lastName": "Bizer",
|
|
1246
|
-
"creatorType": "author"
|
|
1247
|
-
},
|
|
1248
|
-
{
|
|
1249
|
-
"firstName": "Tom",
|
|
1250
|
-
"lastName": "Heath",
|
|
1251
|
-
"creatorType": "author"
|
|
1252
|
-
},
|
|
1253
|
-
{
|
|
1254
|
-
"firstName": "Tim",
|
|
1255
|
-
"lastName": "Berners-Lee",
|
|
1256
|
-
"creatorType": "author"
|
|
1257
|
-
}
|
|
1258
|
-
],
|
|
1259
|
-
"date": "2011",
|
|
1260
|
-
"bookTitle": "Semantic services, interoperability and web applications: emerging concepts",
|
|
1261
|
-
"itemID": "bizer2011linked",
|
|
1262
|
-
"libraryCatalog": "Google Scholar",
|
|
1263
|
-
"pages": "205–227",
|
|
1264
|
-
"publisher": "IGI global",
|
|
1265
|
-
"shortTitle": "Linked data",
|
|
1266
|
-
"url": "https://www.igi-global.com/chapter/linkeddata-story-far/55046",
|
|
1267
|
-
"attachments": [
|
|
1268
|
-
{
|
|
1269
|
-
"title": "Available Version (via Google Scholar)",
|
|
1270
|
-
"mimeType": "application/pdf"
|
|
1271
|
-
}
|
|
1272
|
-
],
|
|
1273
|
-
"tags": [],
|
|
1274
|
-
"notes": [],
|
|
1275
|
-
"seeAlso": []
|
|
1276
|
-
}
|
|
1277
|
-
]
|
|
1278
|
-
},
|
|
1279
|
-
{
|
|
1280
|
-
"type": "web",
|
|
1281
|
-
"url": "https://scholar.google.de/citations?user=INQwsQkAAAAJ&hl=de&oi=sra",
|
|
1282
|
-
"items": "multiple"
|
|
1283
|
-
},
|
|
1284
|
-
{
|
|
1285
|
-
"type": "web",
|
|
1286
|
-
"url": "https://scholar.google.be/scholar?hl=en&as_sdt=1,5&as_vis=1&q=%22transformative+works+and+cultures%22&scisbd=1",
|
|
1287
|
-
"items": "multiple"
|
|
1288
|
-
},
|
|
1289
|
-
{
|
|
1290
|
-
"type": "web",
|
|
1291
|
-
"url": "https://scholar.google.com/citations?user=Cz6X6UYAAAAJ&hl=en",
|
|
1292
|
-
"items": "multiple"
|
|
1293
|
-
},
|
|
1294
|
-
{
|
|
1295
|
-
"type": "web",
|
|
1296
|
-
"url": "https://scholar.google.com/scholar_case?case=16585781351150334057",
|
|
1297
|
-
"items": [
|
|
1298
|
-
{
|
|
1299
|
-
"itemType": "case",
|
|
1300
|
-
"caseName": "Strickland v. Washington",
|
|
1301
|
-
"creators": [],
|
|
1302
|
-
"dateDecided": "May 14, 1984",
|
|
1303
|
-
"court": "Supreme Court",
|
|
1304
|
-
"firstPage": "668",
|
|
1305
|
-
"itemID": "1",
|
|
1306
|
-
"reporter": "US",
|
|
1307
|
-
"reporterVolume": "466",
|
|
1308
|
-
"attachments": [
|
|
1309
|
-
{
|
|
1310
|
-
"title": "Google Scholar Judgement",
|
|
1311
|
-
"type": "text/html"
|
|
1312
|
-
}
|
|
1313
|
-
],
|
|
1314
|
-
"tags": [],
|
|
1315
|
-
"notes": [],
|
|
1316
|
-
"seeAlso": []
|
|
1317
|
-
}
|
|
1318
|
-
]
|
|
1319
|
-
},
|
|
1320
|
-
{
|
|
1321
|
-
"type": "web",
|
|
1322
|
-
"url": "https://scholar.google.com/citations?view_op=view_citation&hl=en&user=RjsFKYEAAAAJ&cstart=20&pagesize=80&citation_for_view=RjsFKYEAAAAJ:5nxA0vEk-isC",
|
|
1323
|
-
"detectedItemType": "journalArticle",
|
|
1324
|
-
"items": [
|
|
1325
|
-
{
|
|
1326
|
-
"itemType": "journalArticle",
|
|
1327
|
-
"title": "The Weakness of Power and the Power of Weakness: The Ethics of War in a Time of Terror",
|
|
1328
|
-
"creators": [
|
|
1329
|
-
{
|
|
1330
|
-
"creatorType": "author",
|
|
1331
|
-
"firstName": "Michael",
|
|
1332
|
-
"lastName": "Northcott"
|
|
1333
|
-
}
|
|
1334
|
-
],
|
|
1335
|
-
"date": "04/2007",
|
|
1336
|
-
"DOI": "10.1177/0953946806075493",
|
|
1337
|
-
"ISSN": "0953-9468, 1745-5235",
|
|
1338
|
-
"abstractNote": "In 2002 a significant number of American theologians declared that the ‘war on terror’ was a just war. But the indiscriminate strategies and munitions technologies deployed in the invasion and occupation of Iraq fall short of the just war principles of non-combatant immunity, and proportionate response. The just war tradition is one of Christendom's most enduring legacies to the law of nations. Its practice implies a standard of virtue in war that is undermined by the indiscriminate effects of many modern weapons and by the deliberate targeting of civilian infrastructure. The violent power represented by the technology of what the Vatican calls ‘total war’has occasioned a significant shift in Catholic social teaching on just war since the Second World War. Total war generates an asymmetry of weakness in those subjected to these techniques of terror, and this has only strengthened the violence of the Islamist struggle against the West. But those who draw inspiration and legitimacy from this weakness in their struggle with the West also reject virtue in war. In a time of terror the theological vocation is to speak peace and to recall the terms in which the peace of God was achieved by way of the cross.",
|
|
1339
|
-
"issue": "1",
|
|
1340
|
-
"journalAbbreviation": "Studies in Christian Ethics",
|
|
1341
|
-
"language": "en",
|
|
1342
|
-
"libraryCatalog": "DOI.org (Crossref)",
|
|
1343
|
-
"pages": "88-101",
|
|
1344
|
-
"publicationTitle": "Studies in Christian Ethics",
|
|
1345
|
-
"shortTitle": "The Weakness of Power and the Power of Weakness",
|
|
1346
|
-
"url": "http://journals.sagepub.com/doi/10.1177/0953946806075493",
|
|
1347
|
-
"volume": "20",
|
|
1348
|
-
"attachments": [
|
|
1349
|
-
{
|
|
1350
|
-
"title": "Available Version (via Google Scholar)",
|
|
1351
|
-
"mimeType": "application/pdf"
|
|
1352
|
-
}
|
|
1353
|
-
],
|
|
1354
|
-
"tags": [],
|
|
1355
|
-
"notes": [],
|
|
1356
|
-
"seeAlso": []
|
|
1357
|
-
}
|
|
1358
|
-
]
|
|
1359
|
-
}
|
|
1360
|
-
]
|
|
1361
|
-
/** END TEST CASES **/
|