diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..1d17dae --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.venv diff --git a/ReadMe.md b/ReadMe.md new file mode 100644 index 0000000..67f788b --- /dev/null +++ b/ReadMe.md @@ -0,0 +1,11 @@ +# PGmentor page download + +## PIP + +### Freeze current settings + +pip freeze > requirements.txt + +### Install from requirements file + +pip install -r requirements.txt diff --git a/bin/pgnmentor_download.py b/bin/pgnmentor_download.py new file mode 100644 index 0000000..66b6e11 --- /dev/null +++ b/bin/pgnmentor_download.py @@ -0,0 +1,54 @@ +#!/usr/bin/env python3 + +""" +Author: Clemens Schwaighofer +Date: 2023/9/6 +Description: download pgn files from pgnmentor.com +""" + +# MARK:TOP + +import requests +import configparser + + +class Config: + """ + folder locations and settings + """ + + def __init__(self): + self.base_folder: str = "" + self.temp: str = "temp" + self.data: str = "data" + self.download: str = "download" + self.last_download: str = "last_download.txt" + self.last_update: str = "last_update.txt" + + self.url_base_file: str = "https://www.pgnmentor.com/files.html" + + self.download_target_file: str = "[download][curent_date]/msater/files.html" + self.download_target_pgn: str = "[download][current_date]/pgn/" + + +class Init: + """ + init on run + - donwload file to temp + - check update diff + - run download and diff flow + """ + + def __init__(self, config: Config): + self.conf = config + + +def main(): + conf = Config() + + print(f"BASE: {conf.base_folder}") + + +main() + +# __END__ diff --git a/bin/pgnmentor_download.sh b/bin/pgnmentor_download.sh index 81a09cc..e903ea3 100755 --- a/bin/pgnmentor_download.sh +++ b/bin/pgnmentor_download.sh @@ -22,12 +22,109 @@ function error() { if [ -t 1 ]; then echo "$1"; fi; exit 1; } +BASE_FOLDER=$(dirname "$(readlink -f "$0")")"/"; +TEMP="${BASE_FOLDER}../temp/"; +DATA="${BASE_FOLDER}../data/"; +DOWNLOAD="${BASE_FOLDER}../download/"; +last_download="${DATA}last_download.txt"; +last_update="${DATA}last_update.txt"; +url_base_file="https://www.pgnmentor.com/files.html"; # has to be YYYYMMDD current_date="${1}"; +# temp download +temp_files_dl="${TEMP}files.html"; +# set the download targets for file +download_target_file="${DOWNLOAD}${current_date}/master/files.html"; +download_target_pgn="${DOWNLOAD}${current_date}/pgn/"; +# flag if we do anything +do_download=0; +# must have curl installed (or wget but I am lazy to code in both) +type curl >/dev/null 2>&1 || error "curl not installed"; +# date should be at least a bit valid if [ -z "${current_date}" ] || ! [[ "${current_date}" =~ ^[0-9]{8}$ ]]; then error "Current date must be set and in the format YYYYMMDD"; fi; +# 1) last_download does not exist -> download +# 2) download files.html to tmp +# 3) if one true -> compare +# 4) if different or 1) false -> download +check_dl=0; +if [ ! -f "${last_download}" ]; then + check_dl=1; +else + curl -o "${temp_files_dl}" ${url_base_file}; + grep "updated: " "${download_target_file}" > "${TEMP}cur_file_updated.txt"; + file_diff=$(diff "${last_download}" "${TEMP}cur_file_updated.txt"); + if [ -n "${file_diff}" ]; then + check_dl=1; + fi; +fi; + +if [ $check_dl = 0 ]; then + error "Last downloaded data not outdated"; +fi; + +# normal download + +# does that download folder exist +if [ ! -d "${DOWNLOAD}${current_date}" ]; then + echo "Create new folders for ${current_date}"; + # build basic folders build + mkdir -p "${DOWNLOAD}${current_date}/master"; + mkdir -p "${DOWNLOAD}${current_date}/pgn"; + mkdir -p "${DATA}${current_date}"; + # shift: current to last + last_sym=$(readlink -f "${DATA}current"); + echo "$last_sym => ${DATA}last"; + rm "${DATA}last"; + ln -sf "${last_sym}" "${DATA}last"; + # shift: this to new current + rm "${DATA}current"; + ln -sf "${DATA}${current_date}" "${DATA}current"; +fi; + +# download master file +if [ ! -f "${download_target_file}" ]; then + echo "Download master file for ${current_date}"; + curl -o "${download_target_file}" ${url_base_file} +fi; + +# diff current to last in download +# grep diffs and download to corect folders +# attach to main lists + +# diff -u old new |grep "+" |grep "a href" + +# parse level one: +# get the last updated date and see if it is different to the last one +# if [ ! -f "${last_download}" ]; then +# do_download=1; +# # check master file last update date +# grep "updated: " "${download_target_file}" > "${last_download}"; +# echo "DL: ${dl_latest}"; +# else +# # now we need to check +# echo "check last download is old enough"; +# last_data=$(cat "${last_update}"); +# echo "L: ${last_data}"; +# # eg +# fi; + +# if [ $do_download -eq 0 ]; then +# error "No updated data found"; +# fi; + +# start main processing + +# TODO: limited download +# load previous set, so we do not download the same data twice +# all files in this files will not be downloaded + +# CURRENT: +# use DownThemAll to get all the data +# extract data files +# check they exist in pgn folder -> if not # __END__ diff --git a/bin/pgnmentor_parse.sh b/bin/pgnmentor_parse.sh index 04670b7..bbb48c5 100755 --- a/bin/pgnmentor_parse.sh +++ b/bin/pgnmentor_parse.sh @@ -31,20 +31,20 @@ if [ ! -d "${folder}" ]; then exit; fi; -for i in ${files[*]}; do - file=$(echo $i | sed -e "s/_/ /g")"."${current_date}".txt"; - output=$(echo $i | sed -e "s/_/ /g")".pgn"; +for i in "${files[@]}"; do + file=${i//_/ }".${current_date}.txt"; + output=${i//_/ }".pgn"; if [ -f "${file}" ]; then echo "OK: $file"; rm -f "${output}"; - for pgn in $(cat "${file}"); do + while read -r pgn; do if [ -f "${folder}${pgn}" ]; then cat "${folder}${pgn}" >> "${output}"; echo -n "." else echo "[!!] Missing ${folder}${pgn}"; fi; - done; + done <"${file}"; echo "[DONE]"; fi; done; diff --git a/data/.gitignore b/data/.gitignore new file mode 100644 index 0000000..d6b7ef3 --- /dev/null +++ b/data/.gitignore @@ -0,0 +1,2 @@ +* +!.gitignore diff --git a/data/20220717/Candidates and Interzonals.20220717.txt b/data/20220717/Candidates and Interzonals.20220717.txt deleted file mode 100644 index 0c4975d..0000000 --- a/data/20220717/Candidates and Interzonals.20220717.txt +++ /dev/null @@ -1,61 +0,0 @@ -WorldCup2021.pgn -Candidates2020.pgn -Candidates2018.pgn -Candidates2016.pgn -WorldCup2015.pgn -Candidates2014.pgn -Candidates2013.pgn -WorldCup2013.pgn -Candidates2011.pgn -WorldCup2011.pgn -WorldCup2009.pgn -WccQual2009.pgn -WorldCup2007.pgn -WccQual2007.pgn -WorldCup2005.pgn -WccQual2002.pgn -WccQual1998.pgn -Candidates1994.pgn -PCACand1994.pgn -Interzonal1993.pgn -PCAQual1993.pgn -Candidates1990.pgn -Interzonal1990.pgn -Candidates1988.pgn -Interzonal1987a.pgn -Interzonal1987b.pgn -Interzonal1987c.pgn -Candidates1985.pgn -Candidates1985r.pgn -Interzonal1985a.pgn -Interzonal1985b.pgn -Interzonal1985c.pgn -Candidates1983.pgn -Interzonal1982a.pgn -Interzonal1982b.pgn -Interzonal1982c.pgn -Candidates1980.pgn -Interzonal1979a.pgn -Interzonal1979b.pgn -Candidates1977.pgn -Interzonal1976a.pgn -Interzonal1976b.pgn -Candidates1974.pgn -Interzonal1973a.pgn -Interzonal1973b.pgn -Candidates1971.pgn -Interzonal1970.pgn -Candidates1968.pgn -Interzonal1967.pgn -Candidates1965.pgn -Interzonal1964.pgn -Candidates1962.pgn -Interzonal1962.pgn -Candidates1959.pgn -Interzonal1958.pgn -Candidates1956.pgn -Interzonal1955.pgn -Candidates1953.pgn -Interzonal1952.pgn -Candidates1950.pgn -Interzonal1948.pgn diff --git a/data/20220717/Classical King Pawn.20220717.txt b/data/20220717/Classical King Pawn.20220717.txt deleted file mode 100644 index 07449f9..0000000 --- a/data/20220717/Classical King Pawn.20220717.txt +++ /dev/null @@ -1,37 +0,0 @@ -CenterGame-Danish.pgn -BishopsOpening.pgn -KingsGambit.pgn -Vienna.pgn -Latvian-Elephant.pgn -Philidor.pgn -PetroffOther3.pgn -PetroffMain.pgn -Ponziani.pgn -ThreeKnights.pgn -FourKnights.pgn -GoringGambit.pgn -ScotchGambit.pgn -ScotchOther4.pgn -Scotch4Nf6.pgn -Scotch4Bc5.pgn -Hungarian.pgn -TwoKnights.pgn -GiuocoPiano.pgn -RuyLopezOther3.pgn -RuyLopezClassical.pgn -RuyLopezSchliemann.pgn -RuyLopezBerlin.pgn -RuyLopezExchange.pgn -RuyLopezModSteinitz.pgn -RuyLopezOther5.pgn -RuyLopezOpen.pgn -RuyMoeller-SteinDef.pgn -RuyLopezArchangelsk.pgn -RuyLopezOther6.pgn -RuyLopezAntiMarshall.pgn -RuyLopezMarshall.pgn -RuyLopezOther9.pgn -RuyLopezKar-Smy-Khol.pgn -RuyLopezBreyer.pgn -RuyLopezFlohr-Zaitsev.pgn -RuyLopezChigorin.pgn diff --git a/data/20220717/Classical Queen Pawn.20220717.txt b/data/20220717/Classical Queen Pawn.20220717.txt deleted file mode 100644 index cebce0c..0000000 --- a/data/20220717/Classical Queen Pawn.20220717.txt +++ /dev/null @@ -1,25 +0,0 @@ -Hodgson.pgn -Colle.pgn -QGSym-Baltic.pgn -QG-Albin.pgn -QG-Chigorin.pgn -SlavOther34.pgn -SlavExchange.pgn -Slav4a6.pgn -SlavOther5.pgn -SlavMain.pgn -QGA3e4.pgn -QGAOther3.pgn -QGAOther4.pgn -QGAMain.pgn -QGDOther34.pgn -QGDTarrasch.pgn -QGDExchange.pgn -QGD5Bf4.pgn -SemiTarr5e3-Nc6.pgn -SemiTarraschMain.pgn -SemiSlavOther5.pgn -SemiSlavBotvinnik.pgn -SemiSlavMeran.pgn -QGDOrthoOther4.pgn -QGDOrthoMain.pgn diff --git a/data/20220717/Flank and Unorthodox.20220717.txt b/data/20220717/Flank and Unorthodox.20220717.txt deleted file mode 100644 index aa60ce8..0000000 --- a/data/20220717/Flank and Unorthodox.20220717.txt +++ /dev/null @@ -1,29 +0,0 @@ -English1b6.pgn -English1f5.pgn -English1c6.pgn -English1g6.pgn -EngSymDoubleFianchetto.pgn -EnglishSymHedgehog.pgn -EnglishSym3d4.pgn -EnglishSymOtherB3.pgn -EnglishSymFourKnights.pgn -EnglishSymMain.pgn -English1e6-2Nf3-d5.pgn -English1e6-2Nc3-d5.pgn -EnglishFlohr-Mikenas.pgn -English1e6Main.pgn -EnglishSicRev2g3.pgn -EnglishSicRevOtherB2.pgn -EnglishSicRev4Knights.pgn -EnglishSicRevBremen.pgn -EnglishSicRevClosed.pgn -English1Nf6-2g3.pgn -English1Nf6-2Nf3.pgn -English1Nf6-2Nc3.pgn -Reti2b3.pgn -Reti2c4.pgn -RetiKIA.pgn -Bird.pgn -Nimzowitsch-Larsen.pgn -Sokolsky.pgn -Dunst.pgn diff --git a/data/20220717/Modern King Pawn.20220717.txt b/data/20220717/Modern King Pawn.20220717.txt deleted file mode 100644 index 583fda9..0000000 --- a/data/20220717/Modern King Pawn.20220717.txt +++ /dev/null @@ -1,86 +0,0 @@ -OwenDefense.pgn -NimzoDefense.pgn -Scand3Qd6-Qd8.pgn -Scand2Qxd5-3Qa5.pgn -Scand2Nf6-3d4.pgn -Scand2Nf6Other.pgn -Alekhine2Nc3-d5.pgn -AlekhineOther3.pgn -AlekhineExchange.pgn -Alekhine4Pawns.pgn -AlekhineModern.pgn -Modern3Nf3.pgn -Modern3Nc3-d6.pgn -Modern3Nc3-c6.pgn -Modern3Nc3Other.pgn -ModernOther3.pgn -PircOtherWhite3.pgn -PircOtherBlack3.pgn -PircAustrian.pgn -PircOtherWhite4.pgn -PircClassical.pgn -Caro-Kann2c4.pgn -Caro-Kann2Knight.pgn -Caro-KannEx.pgn -Caro-KannPan-Bot.pgn -Caro-KannAdv.pgn -Caro-Kann4Nf6.pgn -Caro-Kann4Nd7.pgn -Caro-KannClassic.pgn -FrenchKIA.pgn -FrenchOther2.pgn -FrenchExchange.pgn -FrenchAdvance.pgn -FrTarraschOther3.pgn -FrTarrasch3c5.pgn -FrTarrasch3Nf6.pgn -FrenchRubinstein.pgn -FrWinawerOtherW4.pgn -FrWinawerOtherB4.pgn -FrWinawerMain.pgn -FrenchSteinitz.pgn -FrenchMacCutcheon.pgn -FrenchBurn.pgn -FrenchClassical.pgn -SicilianMisc2.pgn -Sicilian2f4.pgn -SicilianSmith-Morra.pgn -SicilianAlapinOther2.pgn -SicilianAlapin2Nf6.pgn -SicilianAlapin2d5.pgn -Sicilian2Nc3-e6.pgn -Sicilian2Nc3-d6.pgn -SicilianGrandPrix.pgn -SicilianClosedOther3.pgn -SicilianClosedMain.pgn -Sicilian2Nf3Other2.pgn -SicilianRossolimo.pgn -Sic2Nc6-4Qc7-4Qb6.pgn -SicilianLowenthal.pgn -Sicilian2Nc6Other5.pgn -SicilianAccelDragon.pgn -SicilianSveshnikov.pgn -SicilianKanOther5.pgn -SicilianKan5c4.pgn -SicilianKan5Nc3.pgn -SicilianKan5Bd3.pgn -SicilianTaimanovOther5.pgn -SicilianTaimanov5Nb5.pgn -SicilianTaimanovMain.pgn -SicilianMoscow.pgn -Sicilian2d6-4Qxd4.pgn -SicilianDragonOther6.pgn -SicDragon6Be2-6Bc4.pgn -SicilianDragonYugoslav.pgn -SicilianClassicalOther6.pgn -SicilianClassicalSozin.pgn -SicilianRichter-Rauzer.pgn -SicilianScheveningen.pgn -SicilianNajdorf6a4.pgn -SicilianNajdorf6g3.pgn -SicilianNajdorf6f3.pgn -SicilianNajdorf6f4.pgn -SicilianNajdorf6Bc4.pgn -SicilianNajdorf6Be3.pgn -SicilianNajdorf6Be2.pgn -SicilianNajdorf6Bg5.pgn diff --git a/data/20220717/Modern Queen Pawn.20220717.txt b/data/20220717/Modern Queen Pawn.20220717.txt deleted file mode 100644 index b5343c8..0000000 --- a/data/20220717/Modern Queen Pawn.20220717.txt +++ /dev/null @@ -1,55 +0,0 @@ -Modern.pgn -SemiBenoni.pgn -Trompowsky2Ne4.pgn -Trompowsky2e6.pgn -TrompowskyOther.pgn -Torre2e6.pgn -Torre2g6.pgn -London2e6.pgn -London2g6.pgn -Catalan3Bb4.pgn -Catalan3c5.pgn -CatalanOpen.pgn -CatalanClosed.pgn -BlackKnightTango.pgn -BudapestGambit.pgn -OldIndian.pgn -CzechBenoni.pgn -BenkoGambit.pgn -ModernBenoni6Nf3.pgn -ModernBenoni6e4.pgn -DutchLeningrad.pgn -DutchClassical.pgn -Dutch3Nc3.pgn -DutchOther.pgn -GrunfeldFianchetto.pgn -Grunfeld4Nf3.pgn -GrunfeldOther.pgn -GrunfeldExchange.pgn -Bogo4Bd2.pgn -Bogo4Nbd2.pgn -QID4a3.pgn -QID4Nc3.pgn -QID4e3.pgn -QIDOther.pgn -QID4g3-Ba6.pgn -QID4g3Other.pgn -Nimzo4Nf3.pgn -NimzoSaemisch.pgn -NimzoLeningrad.pgn -Nimzo4f3.pgn -NimzoOther4.pgn -NimzoCl4O-O.pgn -NimzoCl4c5.pgn -NimzoClOther.pgn -NimzoRub4O-O.pgn -NimzoRub4c5.pgn -NimzoRubOther.pgn -KIDAverbakh.pgn -KIDFianchetto.pgn -KID4pawns.pgn -KIDSaemisch.pgn -KIDClassical.pgn -KIDOther7.pgn -KIDPetrosian.pgn -KIDOther56.pgn diff --git a/data/20220717/Players.20220717.txt b/data/20220717/Players.20220717.txt deleted file mode 100644 index 2f4436e..0000000 --- a/data/20220717/Players.20220717.txt +++ /dev/null @@ -1,245 +0,0 @@ -Adams.pgn -Akobian.pgn -Akopian.pgn -Alburt.pgn -Alekhine.pgn -Alekseev.pgn -Almasi.pgn -Anand.pgn -Anderssen.pgn -Andersson.pgn -Andreikin.pgn -Aronian.pgn -Ashley.pgn -Averbakh.pgn -Azmaiparashvili.pgn -Bacrot.pgn -Bareev.pgn -BecerraRivero.pgn -Beliavsky.pgn -Benjamin.pgn -Benko.pgn -Berliner.pgn -Bernstein.pgn -Bird.pgn -Bisguier.pgn -Blackburne.pgn -Blatny.pgn -Bogoljubow.pgn -Boleslavsky.pgn -Bologan.pgn -Botvinnik.pgn -Breyer.pgn -Bronstein.pgn -Browne.pgn -Bruzon.pgn -Bu.pgn -Byrne.pgn -Capablanca.pgn -Carlsen.pgn -Caruana.pgn -Chiburdanidze.pgn -Chigorin.pgn -Christiansen.pgn -DeFirmian.pgn -DeLaBourdonnais.pgn -Denker.pgn -Ding.pgn -DominguezPerez.pgn -Dreev.pgn -Duda.pgn -Dzindzichashvili.pgn -Ehlvest.pgn -Eljanov.pgn -Euwe.pgn -Evans.pgn -Fedorowicz.pgn -Fine.pgn -Finegold.pgn -Firouzja.pgn -Fischer.pgn -Fishbein.pgn -Flohr.pgn -Gaprindashvili.pgn -Gashimov.pgn -Gelfand.pgn -Geller.pgn -Georgiev.pgn -Giri.pgn -Gligoric.pgn -Goldin.pgn -GrandaZuniga.pgn -Grischuk.pgn -Gulko.pgn -Gunsberg.pgn -GurevichD.pgn -GurevichM.pgn -Harikrishna.pgn -Hort.pgn -Horwitz.pgn -Hou.pgn -Huebner.pgn -Ibragimov.pgn -IllescasCordoba.pgn -Inarkiev.pgn -Ivanchuk.pgn -IvanovA.pgn -IvanovI.pgn -Ivkov.pgn -Jakovenko.pgn -Janowski.pgn -Jobava.pgn -Jussupow.pgn -Kaidanov.pgn -Kamsky.pgn -Karjakin.pgn -Karpov.pgn -Kasimdzhanov.pgn -Kasparov.pgn -Kavalek.pgn -Keres.pgn -Khalifman.pgn -Kholmov.pgn -Koneru.pgn -Korchnoi.pgn -Korobov.pgn -Kosteniuk.pgn -Kotov.pgn -Kramnik.pgn -Krasenkow.pgn -Krush.pgn -Kudrin.pgn -Lahno.pgn -Larsen.pgn -Lasker.pgn -Lautier.pgn -Le.pgn -Leko.pgn -Levenfish.pgn -Li.pgn -Lilienthal.pgn -Ljubojevic.pgn -Lputian.pgn -MacKenzie.pgn -Malakhov.pgn -Mamedyarov.pgn -Maroczy.pgn -Marshall.pgn -McDonnell.pgn -McShane.pgn -Mecking.pgn -Mikenas.pgn -Miles.pgn -Milov.pgn -Morozevich.pgn -Morphy.pgn -Motylev.pgn -Movsesian.pgn -Muzychuk.pgn -Najdorf.pgn -Najer.pgn -Nakamura.pgn -Navara.pgn -Negi.pgn -Nepomniachtchi.pgn -Ni.pgn -Nielsen.pgn -Nikolic.pgn -Nimzowitsch.pgn -Nisipeanu.pgn -Novikov.pgn -Nunn.pgn -Olafsson.pgn -Oll.pgn -Onischuk.pgn -Pachman.pgn -Paehtz.pgn -Panno.pgn -Paulsen.pgn -Petrosian.pgn -Philidor.pgn -Pillsbury.pgn -Pilnik.pgn -PolgarJ.pgn -PolgarS.pgn -PolgarZ.pgn -Polugaevsky.pgn -Ponomariov.pgn -Portisch.pgn -Psakhis.pgn -Quinteros.pgn -Radjabov.pgn -Rapport.pgn -Reshevsky.pgn -Reti.pgn -Ribli.pgn -Rohde.pgn -Rubinstein.pgn -Rublevsky.pgn -Saemisch.pgn -Sakaev.pgn -Salov.pgn -Sasikiran.pgn -Schlechter.pgn -Seirawan.pgn -Serper.pgn -Shabalov.pgn -Shamkovich.pgn -Shirov.pgn -Short.pgn -Shulman.pgn -Smirin.pgn -Smyslov.pgn -So.pgn -Sokolov.pgn -Soltis.pgn -Spassky.pgn -Speelman.pgn -Spielmann.pgn -Stahlberg.pgn -Staunton.pgn -Stefanova.pgn -Stein.pgn -Steinitz.pgn -Suetin.pgn -SultanKhan.pgn -Sutovsky.pgn -Svidler.pgn -Szabo.pgn -Taimanov.pgn -Tal.pgn -Tarrasch.pgn -Tartakower.pgn -Teichmann.pgn -Timman.pgn -Tiviakov.pgn -Tkachiev.pgn -Tomashevsky.pgn -Topalov.pgn -TorreRepetto.pgn -Uhlmann.pgn -Unzicker.pgn -Ushenina.pgn -VachierLagrave.pgn -Vaganian.pgn -VallejoPons.pgn -VanWely.pgn -Vitiugov.pgn -Volokitin.pgn -Waitzkin.pgn -Wang.pgn -WangH.pgn -Wei.pgn -Winawer.pgn -Wojtaszek.pgn -Wojtkiewicz.pgn -Wolff.pgn -Xie.pgn -Xu.pgn -Ye.pgn -Yermolinsky.pgn -Yu.pgn -Yudasin.pgn -Zhu.pgn -Zukertort.pgn -Zvjaginsev.pgn diff --git a/data/20220717/Tournaments.20220717.txt b/data/20220717/Tournaments.20220717.txt deleted file mode 100644 index 985e882..0000000 --- a/data/20220717/Tournaments.20220717.txt +++ /dev/null @@ -1,841 +0,0 @@ -WijkaanZee2022.pgn -Bucharest2021.pgn -SaintLouis2021.pgn -Stavanger2021.pgn -WijkaanZee2021.pgn -Moscow2020.pgn -Stavanger2020.pgn -WijkaanZee2020.pgn -Baden2019.pgn -Dortmund2019.pgn -Gibraltar2019.pgn -Moscow2019.pgn -Riga2019.pgn -SaintLouis2019.pgn -Shamkir2019.pgn -Shenzhen2019.pgn -Stavanger2019.pgn -WijkaanZee2019.pgn -Zagreb2019.pgn -Baden2018.pgn -Biel2018.pgn -London2018.pgn -SaintLouis2018.pgn -Shamkir2018.pgn -Stavanger2018.pgn -WijkaanZee2018.pgn -Geneva2017.pgn -Moscow2017.pgn -SaintLouis2017.pgn -Shamkir2017.pgn -Sharjah2017.pgn -Stavanger2017.pgn -WijkaanZee2017.pgn -Bilbao2016.pgn -London2016.pgn -Moscow2016.pgn -SaintLouis2016.pgn -Shamkir2016.pgn -Stavanger2016.pgn -WijkaanZee2016.pgn -Baden2015.pgn -Dortmund2015.pgn -KhantyMansiysk2015.pgn -London2015.pgn -SaintLouis2015.pgn -Shamkir2015.pgn -Stavanger2015.pgn -Tbilisi2015.pgn -WijkaanZee2015.pgn -Zurich2015.pgn -Biel2014.pgn -Dortmund2014.pgn -SaintLouis2014.pgn -Shamkir2014.pgn -Stavanger2014.pgn -WijkaanZee2014.pgn -Zurich2014.pgn -Moscow2013.pgn -Stavanger2013.pgn -Thessalonika2013.pgn -WijkaanZee2013.pgn -Zug2013.pgn -Biel2012.pgn -Bilbao2012.pgn -Dortmund2012.pgn -London2012.pgn -Moscow2012.pgn -ReggioEmilia2012.pgn -Tashkent2012.pgn -WijkaanZee2012.pgn -Biel2011.pgn -Bilbao2011.pgn -Dortmund2011.pgn -Medias2011.pgn -Moscow2011.pgn -WijkaanZee2011.pgn -Bazna2010.pgn -Bilbao2010.pgn -Dortmund2010.pgn -Havana2010.pgn -Linares2010.pgn -Moscow2010.pgn -Nanjing2010.pgn -WijkaanZee2010.pgn -Bazna2009.pgn -Biel2009.pgn -Bilbao2009.pgn -Donostia2009.pgn -Dortmund2009.pgn -Jermuk2009.pgn -Linares2009.pgn -London2009.pgn -Moscow2009.pgn -Nalchik2009.pgn -Nanjing2009.pgn -Poikovsky2009.pgn -Sofia2009.pgn -WijkaanZee2009.pgn -Baku2008.pgn -Biel2008.pgn -Bilbao2008.pgn -Dortmund2008.pgn -Elista2008.pgn -Foros2008.pgn -Linares2008.pgn -Moscow2008.pgn -Nanjing2008.pgn -Poikovsky2008.pgn -Sarajevo2008.pgn -Sochi2008.pgn -Sofia2008.pgn -WijkaanZee2008.pgn -Biel2007.pgn -Dortmund2007.pgn -Foros2007.pgn -Linares2007.pgn -Moscow2007.pgn -Poikovsky2007.pgn -Sofia2007.pgn -WijkaanZee2007.pgn -Biel2006.pgn -Dortmund2006.pgn -Foros2006.pgn -Hoogeveen2006.pgn -Linares2006.pgn -Moscow2006.pgn -Pamplona2006.pgn -Poikovsky2006.pgn -Sofia2006.pgn -WijkaanZee2006.pgn -Bermuda2005.pgn -Dortmund2005.pgn -DosHermanas2005.pgn -Linares2005.pgn -Moscow2005.pgn -Poikovsky2005.pgn -Sofia2005.pgn -Stepanakert2005.pgn -WijkaanZee2005.pgn -Biel2004.pgn -Dortmund2004.pgn -Hastings2004.pgn -Linares2004.pgn -Poikovsky2004.pgn -WijkaanZee2004.pgn -Budapest2003.pgn -Dortmund2003.pgn -DosHermanas2003.pgn -Enghien2003.pgn -Hastings2003.pgn -Hoogeveen2003.pgn -Linares2003.pgn -WijkaanZee2003.pgn -Cannes2002.pgn -Dortmund2002.pgn -Hastings2002.pgn -Linares2002.pgn -WijkaanZee2002.pgn -Astana2001.pgn -Dortmund2001.pgn -DosHermanas2001.pgn -Hastings2001.pgn -Linares2001.pgn -Merida2001.pgn -WijkaanZee2001.pgn -Dortmund2000.pgn -Hastings2000.pgn -Linares2000.pgn -Lviv2000.pgn -Merida2000.pgn -Montecatini2000.pgn -Polanica2000.pgn -Sarajevo2000.pgn -WijkaanZee2000.pgn -Dortmund1999.pgn -DosHermanas1999.pgn -Hastings1999.pgn -Linares1999.pgn -Sarajevo1999.pgn -WijkaanZee1999.pgn -Dortmund1998.pgn -Hastings1998.pgn -Linares1998.pgn -Madrid1998.pgn -Polanica1998.pgn -Tilburg1998.pgn -WijkaanZee1998.pgn -Belgrade1997.pgn -Biel1997.pgn -Dortmund1997.pgn -DosHermanas1997.pgn -Hastings1997.pgn -Linares1997.pgn -Madrid1997.pgn -Novgorod1997.pgn -TerApel1997.pgn -Tilburg1997.pgn -WijkaanZee1997.pgn -Amsterdam1996.pgn -Dortmund1996.pgn -DosHermanas1996.pgn -Hastings1996.pgn -LasPalmas1996.pgn -Leon1996.pgn -Madrid1996.pgn -Novgorod1996.pgn -Parnu1996.pgn -Tilburg1996.pgn -Vienna1996.pgn -WijkaanZee1996.pgn -Amsterdam1995.pgn -Dortmund1995.pgn -DosHermanas1995.pgn -Hastings1995.pgn -Linares1995.pgn -Novgorod1995.pgn -Riga1995.pgn -WijkaanZee1995.pgn -Amsterdam1994.pgn -BuenosAires1994.pgn -Dortmund1994.pgn -DosHermanas1994.pgn -Hastings1994.pgn -LasPalmas1994.pgn -Linares1994.pgn -Novgorod1994.pgn -Tilburg1994.pgn -WijkaanZee1994.pgn -Amsterdam1993.pgn -Belgrade1993.pgn -Dortmund1993.pgn -DosHermanas1993.pgn -Hastings1993.pgn -LasPalmas1993.pgn -Linares1993.pgn -Munich1993.pgn -Tilburg1993.pgn -WijkaanZee1993.pgn -Biel1992.pgn -Dortmund1992.pgn -DosHermanas1992.pgn -Hastings1992.pgn -Linares1992.pgn -Moscow1992.pgn -ReggioEmilia1992.pgn -Tilburg1992.pgn -WijkaanZee1992.pgn -Amsterdam1991.pgn -Dortmund1991.pgn -DosHermanas1991.pgn -Hastings1991.pgn -LasPalmas1991.pgn -Linares1991.pgn -ReggioEmilia1991.pgn -Reykjavik1991.pgn -SovietChamp1991.pgn -Tilburg1991.pgn -WijkaanZee1991.pgn -Dortmund1990.pgn -Hastings1990.pgn -Linares1990.pgn -SovietChamp1990.pgn -Tilburg1990.pgn -WijkaanZee1990.pgn -Barcelona1989.pgn -Dortmund1989.pgn -Hastings1989.pgn -Linares1989.pgn -ReggioEmilia1989.pgn -Rotterdam1989.pgn -Skelleftea1989.pgn -SovietChamp1989.pgn -Tilburg1989.pgn -WijkaanZee1989.pgn -Amsterdam1988.pgn -Belfort1988.pgn -Brussels1988.pgn -Dortmund1988.pgn -Hastings1988.pgn -Linares1988.pgn -Reykjavik1988.pgn -SovietChamp1988.pgn -WijkaanZee1988.pgn -Amsterdam1987.pgn -Belgrade1987.pgn -Brussels1987.pgn -Dortmund1987.pgn -Hastings1987.pgn -ReggioEmilia1987.pgn -Reykjavik1987.pgn -SovietChamp1987.pgn -Tilburg1987.pgn -WijkaanZee1987.pgn -Brussels1986.pgn -Bugojno1986.pgn -Dortmund1986.pgn -Hastings1986.pgn -London1986.pgn -ReggioEmilia1986.pgn -SovietChamp1986.pgn -Tilburg1986.pgn -WijkaanZee1986.pgn -Amsterdam1985.pgn -Dortmund1985.pgn -Hastings1985.pgn -Linares1985.pgn -Moscow1985.pgn -Naestved1985.pgn -Portoroz1985.pgn -ReggioEmilia1985.pgn -SovietChamp1985.pgn -Tilburg1985.pgn -WijkaanZee1985.pgn -Bugojno1984.pgn -Dortmund1984.pgn -Hastings1984.pgn -London1984.pgn -NoviSad1984.pgn -Oslo1984.pgn -Sarajevo1984.pgn -SovietChamp1984.pgn -Tilburg1984.pgn -Titograd1984.pgn -WijkaanZee1984.pgn -Dortmund1983.pgn -Gjovik1983.pgn -Hastings1983.pgn -Linares1983.pgn -Niksic1983.pgn -SovietChamp1983.pgn -Tilburg1983.pgn -WijkaanZee1983.pgn -Bugojno1982.pgn -Chicago1982.pgn -Dortmund1982.pgn -Hastings1982.pgn -LasPalmas1982.pgn -London1982.pgn -MardelPlata1982.pgn -Sochi1982.pgn -Tilburg1982.pgn -Turin1982.pgn -WijkaanZee1982.pgn -Amsterdam1981.pgn -BadKissingen1981.pgn -Dortmund1981.pgn -Hastings1981.pgn -Johannesburg1981.pgn -LasPalmas1981.pgn -Linares1981.pgn -MardelPlata1981.pgn -Moscow1981.pgn -SovietChamp1981.pgn -Tilburg1981.pgn -WijkaanZee1981.pgn -Amsterdam1980.pgn -Baden1980.pgn -BadKissingen1980.pgn -BuenosAires1980.pgn -Bugojno1980.pgn -Dortmund1980.pgn -Hastings1980.pgn -LasPalmas1980.pgn -London1980.pgn -SovietChamp1980.pgn -Tilburg1980.pgn -Vrbas1980.pgn -WijkaanZee1980.pgn -Amsterdam1979.pgn -Bled1979.pgn -Dortmund1979.pgn -Hastings1979.pgn -Johannesburg1979.pgn -MardelPlata1979.pgn -Montreal1979.pgn -SovietChamp1979.pgn -Tilburg1979.pgn -Waddinxveen1979.pgn -WijkaanZee1979.pgn -Amsterdam1978.pgn -Bugojno1978.pgn -Dortmund1978.pgn -Hastings1978.pgn -LasPalmas1978.pgn -Niksic1978.pgn -SovietChamp1978.pgn -Tilburg1978.pgn -WijkaanZee1978.pgn -Amsterdam1977.pgn -Bad1977.pgn -Dortmund1977.pgn -Geneva1977.pgn -Hastings1977.pgn -LasPalmas1977.pgn -Leningrad1977.pgn -Ljubojevic1977.pgn -SovietChamp1977.pgn -Tilburg1977.pgn -WijkaanZee1977.pgn -Amsterdam1976.pgn -Dortmund1976.pgn -Hastings1976.pgn -LasPalmas1976.pgn -MardelPlata1976.pgn -SovietChamp1976.pgn -WijkaanZee1976.pgn -Dortmund1975.pgn -Hastings1975.pgn -LasPalmas1975.pgn -Ljubojevic1975.pgn -Manila1975.pgn -Milan1975.pgn -Moscow1975.pgn -SovietChamp1975.pgn -Teeside1975.pgn -WijkaanZee1975.pgn -Hastings1974.pgn -LasPalmas1974.pgn -Manila1974.pgn -SovietChamp1974.pgn -WijkaanZee1974.pgn -Dortmund1973.pgn -Hastings1973.pgn -Hilversum1973.pgn -LasPalmas1973.pgn -MardelPlata1973.pgn -Netanya1973.pgn -Sochi1973.pgn -SovietChamp1973.pgn -WijkaanZee1973.pgn -Hastings1972.pgn -LasPalmas1972.pgn -MardelPlata1972.pgn -Palma1972.pgn -SanAntonio1972.pgn -SovietChamp1972.pgn -WijkaanZee1972.pgn -Hastings1971.pgn -MardelPlata1971.pgn -Moscow1971.pgn -Palma1971.pgn -SovietChamp1971.pgn -WijkaanZee1971.pgn -BuenosAires1970.pgn -Hastings1970.pgn -Leiden1970.pgn -Lugano1970.pgn -MardelPlata1970.pgn -Palma1970.pgn -Rovinj1970.pgn -SovietChamp1970.pgn -WijkaanZee1970.pgn -Hastings1969.pgn -MardelPlata1969.pgn -Netanya1969.pgn -Palma1969.pgn -SovietChamp1969.pgn -WijkaanZee1969.pgn -Hastings1968.pgn -MardelPlata1968.pgn -Netanya1968.pgn -Palma1968.pgn -SovietChamp1968.pgn -Vinkovci1968.pgn -WijkaanZee1968.pgn -Beverwijk1967.pgn -Budva1967.pgn -Hastings1967.pgn -MardelPlata1967.pgn -MonteCarlo1967.pgn -Moscow1967.pgn -Palma1967.pgn -Skopje1967.pgn -SovietChamp1967.pgn -Winnipeg1967.pgn -Hastings1966.pgn -MardelPlata1966.pgn -Moscow1966.pgn -Palma1966.pgn -SantaMonica1966.pgn -SovietChamp1966.pgn -Hastings1965.pgn -Havana1965.pgn -MardelPlata1965.pgn -SovietChamp1965.pgn -Yerevan1965.pgn -Zagreb1965.pgn -Belgrade1964.pgn -Hastings1964.pgn -SovietChamp1964.pgn -Hastings1963.pgn -Havana1963.pgn -LosAngeles1963.pgn -SovietChamp1963.pgn -Hastings1962.pgn -Havana1962.pgn -MardelPlata1962.pgn -SovietChamp1962.pgn -Bled1961.pgn -Hastings1961.pgn -MardelPlata1961.pgn -SovietChamp1961a.pgn -SovietChamp1961b.pgn -BuenosAires1960.pgn -Hastings1960.pgn -MardelPlata1960.pgn -SovietChamp1960.pgn -Hastings1959.pgn -MardelPlata1959.pgn -Moscow1959.pgn -SovietChamp1959.pgn -MardelPlata1958.pgn -SovietChamp1958.pgn -Dallas1957.pgn -Hastings1957.pgn -MardelPlata1957.pgn -SovietChamp1957.pgn -Hastings1956.pgn -MardelPlata1956.pgn -Moscow1956.pgn -SovietChamp1956.pgn -Hastings1955.pgn -MardelPlata1955.pgn -SovietChamp1955.pgn -Hastings1954.pgn -MardelPlata1954.pgn -Bucharest1953.pgn -Hastings1953.pgn -MardelPlata1953.pgn -SovietChamp1953.pgn -Budapest1952.pgn -MardelPlata1952.pgn -SovietChamp1952.pgn -Hastings1951.pgn -MardelPlata1951.pgn -NewYork1951.pgn -SovietChamp1951.pgn -Hastings1950.pgn -MardelPlata1950.pgn -SovietChamp1950.pgn -Szcawno1950.pgn -Hastings1949.pgn -Heidelberg1949.pgn -MardelPlata1949.pgn -SovietChamp1949.pgn -Trencianske1949.pgn -Hastings1948.pgn -Karlovy1948.pgn -MardelPlata1948.pgn -SovietChamp1948.pgn -MardelPlata1947.pgn -Moscow1947.pgn -Parnu1947.pgn -SovietChamp1947.pgn -Warsaw1947.pgn -Groningen1946.pgn -Hastings1946.pgn -London1946.pgn -MardelPlata1946.pgn -Gijon1945.pgn -Hastings1945.pgn -Hollywood1945.pgn -MardelPlata1945.pgn -SovietChamp1945.pgn -BuenosAires1944.pgn -Gijon1944.pgn -MardelPlata1944.pgn -SovietChamp1944.pgn -Madrid1943.pgn -MardelPlata1943.pgn -Prague1943.pgn -Salzburg1943.pgn -Sverdlovsk1943.pgn -Kuibyshev1942.pgn -MardelPlata1942.pgn -Munich1942.pgn -Prague1942.pgn -Salzburg1942.pgn -BuenosAires1941.pgn -Hamilton1941.pgn -Krakow1941.pgn -MardelPlata1941.pgn -Montevideo1941.pgn -Munich1941.pgn -Trencianske1941.pgn -Budapest1940.pgn -Krakow1940.pgn -NewYork1940.pgn -SovietChamp1940.pgn -BadElster1939.pgn -BadHarzburg1939.pgn -Bournemouth1939.pgn -BuenosAires1939a.pgn -BuenosAires1939b.pgn -Kemeri1939.pgn -Leningrad1939.pgn -Margate1939.pgn -Rosario1939.pgn -SovietChamp1939.pgn -Stuttgart1939.pgn -AVRO1938.pgn -BadElster1938.pgn -BadHarzburg1938.pgn -Carrasco1938.pgn -Hastings1938.pgn -Ljubljana1938.pgn -Lodz1938.pgn -Margate1938.pgn -Noordwijk1938.pgn -BadElster1937.pgn -BadNauheim1937.pgn -Hastings1937.pgn -Kemeri1937.pgn -Leningrad1937.pgn -Margate1937.pgn -Ostende1937.pgn -Parnu1937.pgn -Semmering1937.pgn -SovietChamp1937.pgn -Vienna1937.pgn -Amsterdam1936.pgn -BadNauheim1936.pgn -Dresden1936.pgn -Hastings1936.pgn -MardelPlata1936.pgn -Margate1936.pgn -Moscow1936.pgn -Nottingham1936.pgn -Podebrady1936.pgn -Zandvoort1936.pgn -BadNauheim1935.pgn -Barcelona1935.pgn -Hastings1935.pgn -Lodz1935.pgn -Margate1935.pgn -Moscow1935.pgn -Copenhagen1934.pgn -Hastings1934.pgn -Leningrad1934.pgn -MardelPlata1934.pgn -SovietChamp1934.pgn -Ujpest1934.pgn -Zurich1934.pgn -Hastings1933.pgn -Paris1933.pgn -SovietChamp1933.pgn -Bern1932.pgn -Hastings1932.pgn -London1932.pgn -Pasadena1932.pgn -Sliac1932.pgn -Bled1931.pgn -Hastings1931.pgn -NewYork1931.pgn -SovietChamp1931.pgn -Swinemunde1931.pgn -Frankfurt1930.pgn -Hastings1930.pgn -Liege1930.pgn -Nice1930.pgn -SanRemo1930.pgn -Scarborough1930.pgn -Stockholm1930.pgn -Swinemunde1930.pgn -Barcelona1929.pgn -Budapest1929.pgn -Duisburg1929.pgn -Hastings1929.pgn -Karlsbad1929.pgn -Ramsgate1929.pgn -Rogaska1929.pgn -SovietChamp1929.pgn -BadKissingen1928.pgn -Berlin1928.pgn -Dortmund1928.pgn -Giessen1928.pgn -Hague1928.pgn -MardelPlata1928.pgn -BadNiendorf1927.pgn -Hastings1927.pgn -Homburg1927.pgn -Kecskemet1927.pgn -London1927.pgn -Magdeburg1927.pgn -NewYork1927.pgn -SovietChamp1927.pgn -Berlin1926.pgn -Budapest1926.pgn -Dresden1926.pgn -Hastings1926.pgn -LakeHopatcong1926.pgn -Merano1926.pgn -Semmering1926.pgn -Baden1925.pgn -Breslau1925.pgn -Debrecen1925.pgn -Hastings1925.pgn -Marienbad1925.pgn -Moscow1925.pgn -Paris1925.pgn -SovietChamp1925.pgn -Copenhagen1924.pgn -Meran1924.pgn -NewYork1924.pgn -Paris1924.pgn -SovietChamp1924.pgn -Frankfurt1923.pgn -Hastings1923.pgn -Karlsbad1923.pgn -Maehrisch1923.pgn -SovietChamp1923.pgn -Vienna1923.pgn -BadOeynhausen1922.pgn -BadPistyan1922.pgn -Hastings1922.pgn -London1922.pgn -Teplitz1922.pgn -Vienna1922.pgn -Budapest1921.pgn -Carrasco1921.pgn -Hague1921.pgn -Hamburg1921.pgn -Triberg1921.pgn -Amsterdam1920.pgn -Berlin1920a.pgn -Berlin1920b.pgn -Gothenburg1920.pgn -Moscow1920.pgn -SovietChamp1920.pgn -Hastings1919.pgn -Kosice1918.pgn -NewYork1918.pgn -Copenhagen1916.pgn -NewYork1916.pgn -NewYork1915.pgn -Triberg1915.pgn -Mannheim1914.pgn -StPetersburg1914.pgn -Budapest1913.pgn -Havana1913.pgn -NewYork1913.pgn -StPetersburg1913.pgn -BadPistyan1912.pgn -Breslau1912.pgn -SanSebastian1912.pgn -Vilnius1912.pgn -Karlsbad1911.pgn -SanSebastian1911.pgn -Hamburg1910.pgn -Gothenburg1909.pgn -StPetersburg1909.pgn -Vilnius1909.pgn -Dusseldorf1908.pgn -Prague1908.pgn -Vienna1908.pgn -Berlin1907.pgn -Carlsbad1907.pgn -Copenhagen1907.pgn -Lodz1907.pgn -Ostende1907a.pgn -Ostende1907b.pgn -Vienna1907.pgn -Nuremberg1906.pgn -Ostende1906.pgn -Barmen1905.pgn -Ostende1905.pgn -StPetersburg1905.pgn -Cambridge1904.pgn -Coburg1904.pgn -MonteCarlo1904.pgn -StLouis1904.pgn -Kiev1903.pgn -MonteCarlo1903.pgn -Vienna1903.pgn -Hannover1902.pgn -MonteCarlo1902.pgn -MonteCarlo1901.pgn -Moscow1901.pgn -London1900.pgn -Munich1900.pgn -Paris1900.pgn -London1899.pgn -Moscow1899.pgn -Vienna1899.pgn -Cologne1898.pgn -Vienna1898.pgn -Berlin1897.pgn -Budapest1896.pgn -Nuremberg1896.pgn -Hastings1895.pgn -StPetersburg1895.pgn -Leipzig1894.pgn -NewYork1894.pgn -Kiel1893.pgn -NewYork1893.pgn -Dresden1892.pgn -London1892.pgn -Manchester1890.pgn -Amsterdam1889.pgn -Breslau1889.pgn -NewYork1889.pgn -Bradford1888.pgn -Frankfurt1887.pgn -Hamburg1885.pgn -London1883.pgn -Nuremberg1883.pgn -Vienna1882.pgn -Berlin1881.pgn -NewYork1880.pgn -Leipzig1879.pgn -Frankfurt1878.pgn -Paris1878.pgn -StPetersburg1878.pgn -Cologne1877.pgn -Leipzig1877.pgn -London1877.pgn -Leipzig1876.pgn -London1876.pgn -Philadelphia1876.pgn -Chicago1874.pgn -Vienna1873.pgn -Altona1872.pgn -London1872.pgn -Cleveland1871.pgn -Krefeld1871.pgn -Baden1870.pgn -Altona1869.pgn -Barmen1869.pgn -Aachen1868.pgn -Hamburg1868.pgn -Dundee1867.pgn -Paris1867.pgn -London1866.pgn -Dusseldorf1862.pgn -London1862.pgn -Bristol1861.pgn -Cambridge1860.pgn -Birmingham1858.pgn -Manchester1857.pgn -NewYork1857.pgn -London1851.pgn diff --git a/data/20220717/World Championships.20220717.txt b/data/20220717/World Championships.20220717.txt deleted file mode 100644 index 2a5e514..0000000 --- a/data/20220717/World Championships.20220717.txt +++ /dev/null @@ -1,57 +0,0 @@ -WorldChamp2021.pgn -WorldChamp2018.pgn -WorldChamp2016.pgn -WorldChamp2014.pgn -WorldChamp2013.pgn -WorldChamp2012.pgn -WorldChamp2010.pgn -WorldChamp2008.pgn -WorldChamp2007.pgn -WorldChamp2006.pgn -FideChamp2005.pgn -FideChamp2004.pgn -WorldChamp2004.pgn -FideChamp2002.pgn -WorldChamp2000.pgn -FideChamp2000.pgn -FideChamp1999.pgn -FideChamp1998.pgn -FideChamp1996.pgn -PCAChamp1995.pgn -FideChamp1993.pgn -PCAChamp1993.pgn -WorldChamp1990.pgn -WorldChamp1987.pgn -WorldChamp1986.pgn -WorldChamp1985.pgn -WorldChamp1984.pgn -WorldChamp1981.pgn -WorldChamp1978.pgn -WorldChamp1972.pgn -WorldChamp1969.pgn -WorldChamp1966.pgn -WorldChamp1963.pgn -WorldChamp1961.pgn -WorldChamp1960.pgn -WorldChamp1958.pgn -WorldChamp1957.pgn -WorldChamp1954.pgn -WorldChamp1951.pgn -WorldChamp1948.pgn -WorldChamp1937.pgn -WorldChamp1935.pgn -WorldChamp1934.pgn -WorldChamp1929.pgn -WorldChamp1927.pgn -WorldChamp1921.pgn -WorldChamp1910a.pgn -WorldChamp1910b.pgn -WorldChamp1909.pgn -WorldChamp1908.pgn -WorldChamp1907.pgn -WorldChamp1896.pgn -WorldChamp1894.pgn -WorldChamp1892.pgn -WorldChamp1890.pgn -WorldChamp1889.pgn -WorldChamp1886.pgn diff --git a/pyproject.toml b/pyproject.toml new file mode 100644 index 0000000..4ada446 --- /dev/null +++ b/pyproject.toml @@ -0,0 +1,24 @@ +[tool.pyright] +typeCheckingMode = "strict" +reportMissingImports = "information" +reportMissingTypeStubs = "information" +reportUnknownMemberType = "information" +[tool.ruff] +line-length = 120 +[tool.black] +# set 10 short for better formatting +line-length = 110 +# to avoid " ... " " ... " string sets +# --preview --enable-unstable-feature string_processing +# experimental-string-processing = true +preview = true +enable-unstable-feature = ["string_processing"] +[tool.pylint.format] +max-line-length = 120 +#[tool.pylint.TYPECHECK] +#generated-members="utils.*" +[tool.pylint.miscellaneous] +notes = ["FIXME", "TODO"] +notes-rgx = '(FIXME|TODO)(\((TTD-|#)\[0-9]+\))' +[tool.flake8] +max-line-length = 120 diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000..6b16dbc --- /dev/null +++ b/requirements.txt @@ -0,0 +1,5 @@ +certifi==2024.2.2 +charset-normalizer==3.3.2 +idna==3.6 +requests==2.31.0 +urllib3==2.2.1 diff --git a/temp/.gitignore b/temp/.gitignore new file mode 100644 index 0000000..d6b7ef3 --- /dev/null +++ b/temp/.gitignore @@ -0,0 +1,2 @@ +* +!.gitignore