From b285db0d3719f38956d277f85d4d1c27aaec0301 Mon Sep 17 00:00:00 2001 From: potzplitz <127513690+potzplitz@users.noreply.github.com> Date: Sun, 25 Feb 2024 22:29:55 +0100 Subject: [PATCH] commit --- .classpath | 10 +++++ .project | 17 ++++++++ .settings/org.eclipse.core.resources.prefs | 2 + .settings/org.eclipse.jdt.core.prefs | 14 +++++++ bin/data/DownloadLevels.class | Bin 0 -> 2511 bytes bin/data/FetchData.class | Bin 0 -> 1973 bytes bin/data/ManageFiles.class | Bin 0 -> 2081 bytes bin/filestructure/CreateFileStructure.class | Bin 0 -> 606 bytes bin/main/Main.class | Bin 0 -> 884 bytes bin/module-info.class | Bin 0 -> 155 bytes src/data/DownloadLevels.java | 41 +++++++++++++++++++ src/data/FetchData.java | 42 ++++++++++++++++++++ src/data/ManageFiles.java | 38 ++++++++++++++++++ src/filestructure/CreateFileStructure.java | 17 ++++++++ src/main/Main.java | 29 ++++++++++++++ src/module-info.java | 8 ++++ 16 files changed, 218 insertions(+) create mode 100644 .classpath create mode 100644 .project create mode 100644 .settings/org.eclipse.core.resources.prefs create mode 100644 .settings/org.eclipse.jdt.core.prefs create mode 100644 bin/data/DownloadLevels.class create mode 100644 bin/data/FetchData.class create mode 100644 bin/data/ManageFiles.class create mode 100644 bin/filestructure/CreateFileStructure.class create mode 100644 bin/main/Main.class create mode 100644 bin/module-info.class create mode 100644 src/data/DownloadLevels.java create mode 100644 src/data/FetchData.java create mode 100644 src/data/ManageFiles.java create mode 100644 src/filestructure/CreateFileStructure.java create mode 100644 src/main/Main.java create mode 100644 src/module-info.java diff --git a/.classpath b/.classpath new file mode 100644 index 0000000..57bca72 --- /dev/null +++ b/.classpath @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/.project b/.project new file mode 100644 index 0000000..8c9809a --- /dev/null +++ b/.project @@ -0,0 +1,17 @@ + + + ExtremeDemonList + + + + + + org.eclipse.jdt.core.javabuilder + + + + + + org.eclipse.jdt.core.javanature + + diff --git a/.settings/org.eclipse.core.resources.prefs b/.settings/org.eclipse.core.resources.prefs new file mode 100644 index 0000000..99f26c0 --- /dev/null +++ b/.settings/org.eclipse.core.resources.prefs @@ -0,0 +1,2 @@ +eclipse.preferences.version=1 +encoding/=UTF-8 diff --git a/.settings/org.eclipse.jdt.core.prefs b/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 0000000..8c9943d --- /dev/null +++ b/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,14 @@ +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled +org.eclipse.jdt.core.compiler.codegen.targetPlatform=17 +org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve +org.eclipse.jdt.core.compiler.compliance=17 +org.eclipse.jdt.core.compiler.debug.lineNumber=generate +org.eclipse.jdt.core.compiler.debug.localVariable=generate +org.eclipse.jdt.core.compiler.debug.sourceFile=generate +org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled +org.eclipse.jdt.core.compiler.problem.enumIdentifier=error +org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning +org.eclipse.jdt.core.compiler.release=enabled +org.eclipse.jdt.core.compiler.source=17 diff --git a/bin/data/DownloadLevels.class b/bin/data/DownloadLevels.class new file mode 100644 index 0000000000000000000000000000000000000000..6d09a47ec1a502a1cc66eef13f55fbfb3ae00745 GIT binary patch literal 2511 zcmaJ?+fy4=9R5xS*(5CGQY)nQR@wq>h+?G`+A0KUBLONbAFfa_x&#W+dmI}0&pI8 z6!-*or!`lL4O+`)*3!~R{kooY6!--i7q#nJEUTHB*x1~no^l2JQdXcj>FJDUrk2q! z8d=@x69}9$OvAk(P}ANqMbWsG*2AbloeBj(1@*MJT`de1bs_LZMJ)mX4N1e)M+><* z-JaCuvbywTrL^pnW*hRoeCT%<3`by33CC9Kgc3}bqY(%X-AL(q*RV_m)yinSpbRUP z7~8xFVK4S8*taF*i517yb1DwtAVabWjDAnDqI}slOn1VybuHH?V>qnh2#yNW=M2X& z%uIK)>e{+<5H&$#}yo_;Msbu;so01G^0zW?TNCDs!a4L=-i6d zC8A6-(|Srp6kT+k)0XtOWu`Rus^Knh=eU~blC|UQB}|?@20_KXY8U0BFkVErf|n{7 z$yrs{DqhBE0VOY)$eI%84pyg{ncGte&Is(Qa5qqxpVw_YoiOu-GKUIY6;M3^Q+H!m z#*<;3MV~C3({guS#Ra^^WLkOMEYV)YtxV=qTjaI}{Ze&6ptTHYn@Go$fppK5y%eqtj+3hONSV(tiuy zQ86Q(Ga=w#e4=+ zdY~jh@^;7>+pJOAs^(2#@21LjPAMOj?O!rQ4>Qb9Xl}*TopFylL5xp3tg1b!S?@(Q zqUF8*S3s2E39DeIyy-(aw~l}=85!{nSeEO!ww52!-32S{gyEo|fL+!0GQ*+g8+W+zyQeGLKFL9CFT%DiJM9~ME}61cM9x_PHJ7PGbGt_%l2VXollcFHnc z-E_NBRxZ|`%|^#HS5HTWZg7<4^yr|Tv&^WRP_h2;p}}Mn=|}2tUGTpq`wdYDovX z@f_b+lsxz0dG7suYmt_HQ}oBD2-Tcl#oyl}(s>^ZMI72+#0x*8;{i?rMZ~tBz5*o0 zsOa^tqi1>@XQxlDp|^;0Yk0l4b{+BQ?FvJ{8ZPz*n*8`N*sH9fJ`#v1HG6_Zyb-D8 zju%A?Pxl0U-)#I52|Pk;Bv8cIDjG-SThM!pK8(~p!f2$ni1AgL^GAO{DB>SoMME^= z{|+IpMNCMcpeGc4_+K*7hojLVrtkQ~{xa4gX20FQJ(82bU3^WNhOvtKe4fGY`~ltg zlfM>HEh+CoJ=Z1@xElvaaW|M|)7REKEd69BKd_laW-DB>SkR`et zaotAa29;|RT4m{M@G8W;f)4&qdVf6%;tDt)@dTj_#-QvVAXO%xAS{x6*40t6-`i}^ vsx&SQ%C*J6LDUs@1Yr?`4|zfb$*I9I6>fOzO>g}WAMqy4(~t2fK1bwV(FtyD literal 0 HcmV?d00001 diff --git a/bin/data/FetchData.class b/bin/data/FetchData.class new file mode 100644 index 0000000000000000000000000000000000000000..88c292db5d74e9eefcaf6d6bae99bb8fa583a8ae GIT binary patch literal 1973 zcmZ`(ZBrXn6n<{rb`zGj&;qHYw%95Gk_B3;CbSyfDjGl&pr*CfO>#+=Zg%5l)7BaP zfd9bpo1+e2?TiLTX6z^JjQ>bKi09sfw}JzcyZ5|4=Q-z|zyAI0cL2Art-#07Q#L$9 zU*cY=x$uBf(+NO7#!9Nz?WC+YVWgdYa-5SD(DClJvI3r^O zJ?IXDA*vyW5JPX)wE1eYR^;xwQM3p}H0zWMYtwK|aqkENUe%;3`m!g>CLp~P?%grH zYO~lz#}HY3THyVp+(Z5<{WkaX zja)W@5nLABT%lf!o#r&Yso*t+LFq$S=bBqv+~wsQH_F^qaE&2$pj)=SOMy;(D z!Qap@hB#I4)VbYOG7OD%dMc_v@=8Z=6%zu@B*SnA%}XZn%?L)36h=C6cx2R0nHGSj zDT4%cY&zzerbUP&m_m01H*izIn7+r_ZSqH*Da$&v$AlU$@!|`=J^**ZkKra7{e#z9X?LxnWH?TDi-LtFA^gTQE8d>Bk_D*?g%{+ zf77*SXS7wFi6pVlv?*j;dTQoKFG3Q_zDALz?^N7Qr^&8Mbg{-|p@cc_8Kp-nM!oZP z!-i#LJ8S50AWto#iGvY1srjGv6UjSGx5SrBu`zlM*I-iAjw`fZ{In|xxmYrEDs=Nf zB`Iw@nk9lvk~w(?`o?#mjqjnSu#3K5(Em(Y572Lqj1xwH?0d=c9LY5DCLf%~Af5CA zD4q|)^c|pEOhjhCQr<90eu%!3-NQ&>Vi&KjuvL}{>|wO9hpUCj7GB>4B~GM*dzhlk zGbv>UH)Ej|u1DXArdzlb&B!CA#? zBNqG9>XT#Per_{u&&7MR@!1HT{9A z7S$&uOM-)bs(OH|21z!IXOMKB3YdZ$3Pu!c$p2A! zodWhTbC#MSN#zhir+r1Rjeiiy(9zZPH{oR9l*`wdn2KaTmvSH|IRA;j_#{1Iut1CS NXefe*Ls6Ah=6|MH#54c^ literal 0 HcmV?d00001 diff --git a/bin/data/ManageFiles.class b/bin/data/ManageFiles.class new file mode 100644 index 0000000000000000000000000000000000000000..fcc7ce58495b57a5288fedf72ff865f815687f6a GIT binary patch literal 2081 zcmaJ?+fy4=9R3cWEJ?QsmzG|r63LcK7`Dcl*BIcTRr)``NDm9-v~OMWCZ7Lz$VE zp4?P3j;jI-t+Z~-9hq^Zx0zX3-&TcC;LL^!3tN1ZGZ8a-HO1Jhz`3#$1dg}qsvYG9 z0vB>7ycRlcX1rRJdpRcv=@-vCo1P47RV6Ug%x5$*n!5S0%9PnL#bifCydl8yIlC{>(~$jKRU3>{=> z@HEn)CEfUS8#gdOpt4we!7rLbc4(DM8mc{6Hr*c&t4rqMz83EfAVvrV!_I}OAUEE_k(sd(z z0v89Hjy9{oyC;c+HYPAhsidmpijW6=rGqyFyccSFYA_)$lF-N$JAEf ze8~y3Ar=%4f4sMDkbUa%d1XBfy$kc9ER^PDrLO9uU3oN^k>-Q>k3E;j`?YGp90}y0 zLDp$40-7d#KMcaEtjw!$%P$5ANE9rr3k)3V(eZZtlFCFgj7Byi3!z`#)3c<&ziymZ z-8)M7Pc2a|>o??CHgkhmP<+4bDpQFldcQ`eVV!gH%}4L z459^3;M)JYQl$|e=%-*}+!QVR@*Lt*LLYCm#*H;WYdg-ursW(hBlOdsvxi8o9H8ST zbpOa@3oh{5Mkk%1$5_A>56^nw1k32R9m5B>IDCjpjK1;9LzeoNM>6K{xDs8X-hPR*LK5&4s`8)e~?;E6_V(LYQ_kn$U zFnrRykH=pL(OWm}i%;m;f>nC)-{&u$!ha&y!go(_kM?M+YX)kXR?TlKIsAe5#wp%t;J>wA eCx%ar*Jt>g_ayxl<2TH8i@oWJ0wt8;QN@@2f9IAgDOquFr;zrtT| z!4gP(0N;cVJ!=Opk+^hESI<;e_5A$(?FWFDICPLBbgon+Q==E5S!n6^v=m0ZW~_gQ zIVce7Q*kT&NW>HW?Pw}PLnysau`;g+`QwuTq0mdl(nTH>4@Hy+wLr!4&0;>1`kfd> zlF$f}P(%Zvm95uc!Cb49a1{JkNS9}ZnLY<~f|p5BiEq`G(IB*Y&xhw9jh1tHCg({U zsMHK2c`KvTMGcRvuqL5-9Q<>`HdQ?7o($}bEf3pxOsJ~#OlfwR=uery54OAG;fd`Q z=d-cW?AR(MJXo=d)kIN&;m&L0F{ezyPs literal 0 HcmV?d00001 diff --git a/bin/main/Main.class b/bin/main/Main.class new file mode 100644 index 0000000000000000000000000000000000000000..bfc1924a11ca6d7f6ed048b2c6e80ecc3232a03d GIT binary patch literal 884 zcmah{+fEZv6kVscX@}urTfmCiRxFlF85Q(F)Wm=olPNr4NQ_UX(?dI?ogvdH>IeA& zzLdl!et;ikTxUuk7!zOi{kHbrzkdJt3E&l;8%PM``qK05CW(QRz}%@kmv&G39s96# zs@zB*^V0LZ=(RwyzIrT>+6~&uL=rg*X=DUu9nV(>!+uMJA7rbi1oBSc%HFXIJ*{6F zQ&HC&2uwLw4R=^fD*_AkPtJAYqbT(J&W>(ozWw5=v&aklfq}e0A&&9_`~BgS$3Rh_ zdgAreAPR?WGz^u!8!8#8ecD)TVlz=dPLo9oxAoi^Hx4pzM_{HcBWdre$nEY?GEvg8 zCET-cKgQTm(K|2d4qKDq3{<$QIH@Up*@;^XOq6w68Os(P>a=M$=%2|@y$M74l?Yad zAWqr~KKs2uwjFh@dd#coyc$+5tm(XL`_j)1$*{w<75=dxLYN>HSa$x4pW9BKXn-8t zxe1ppqaVWv_3{3OMfd!~cynyp&7)u#x-ojblK!GieIZoAcj1=-2}*nuQiGaJF38hs z7s!5(-6pAa116?Otw{j+G_@RNFv}uylvDKFipzYXB~8oL7=@1)oNj%Dg)vH$mzo8N~sa**G*Sg94wz@1B-==$n!CZs9>JgTSSA}Q!K?pZBN=^ m9UIKak~gr)af&>)jmI3P!q0lb_#{0UUU4fPcbm}(Jo^JD0lzi? literal 0 HcmV?d00001 diff --git a/bin/module-info.class b/bin/module-info.class new file mode 100644 index 0000000000000000000000000000000000000000..3ec61ff0d18a0b516a7d7737b839c5977d56719e GIT binary patch literal 155 zcmX^0Z`VEs1_oOOE_MbcMh5QO{FKt1RNc(Hw0uSeuHgLAqU2P!%$!t41_2}~y{yEt zL`DWSU$AOn26mvdYeh*>YHq4aYHog>PiAq6Faswe11CtKUQ%LlY6AlUBhVrUU}9hf YGME@x7+8U{7y}zvn2~{_0nC690E?<100000 literal 0 HcmV?d00001 diff --git a/src/data/DownloadLevels.java b/src/data/DownloadLevels.java new file mode 100644 index 0000000..63b9759 --- /dev/null +++ b/src/data/DownloadLevels.java @@ -0,0 +1,41 @@ +package data; + +import java.io.BufferedInputStream; +import java.io.FileOutputStream; +import java.io.IOException; +import java.net.URL; + +public class DownloadLevels { + + private ManageFiles data = new ManageFiles(); + + + public void download() throws IOException { + + String fileURL; + + for(int i = 0; i < data.missingLevels().size(); i++) { + + System.out.println("downloading " + data.missingLevels().get(i)); + fileURL = "https://raw.githubusercontent.com/All-Rated-Extreme-Demon-List/AREDL/main/data/" + data.missingLevels().get(i) + ".json"; + + try (BufferedInputStream in = new BufferedInputStream(new URL(fileURL).openStream()); + + FileOutputStream fileOutputStream = new FileOutputStream("C:\\ExtremeDemonList\\levels\\" + data.missingLevels().get(i) + ".json")) { + + byte dataBuffer[] = new byte[1024]; + int bytesRead; + + while ((bytesRead = in.read(dataBuffer, 0, 1024)) != -1) { + + fileOutputStream.write(dataBuffer, 0, bytesRead); + + } + } catch (IOException e) { + // Handle exceptions + e.printStackTrace(); + } + } + } + +} diff --git a/src/data/FetchData.java b/src/data/FetchData.java new file mode 100644 index 0000000..0be79dc --- /dev/null +++ b/src/data/FetchData.java @@ -0,0 +1,42 @@ +package data; + +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStreamReader; +import java.net.URL; +import java.util.ArrayList; + +public class FetchData { + + private ArrayList levels = new ArrayList(); + + public void getGithubString() throws IOException { + String link = "https://raw.githubusercontent.com/All-Rated-Extreme-Demon-List/AREDL/main/data/_list.json"; + + + URL url = new URL(link); + + try (BufferedReader in = new BufferedReader(new InputStreamReader(url.openStream()))) { + + String line; + StringBuilder sb = new StringBuilder(); + + while ((line = in.readLine()) != null) { + + String trimmedLine = line.trim().replace(",", "").replace("\"", ""); + + if (!trimmedLine.equals("[") && !trimmedLine.equals("]")) { + levels.add(trimmedLine); + } + } + } + } + + public ArrayList allLevels() { + return levels; + } + +} + + + diff --git a/src/data/ManageFiles.java b/src/data/ManageFiles.java new file mode 100644 index 0000000..3e430fe --- /dev/null +++ b/src/data/ManageFiles.java @@ -0,0 +1,38 @@ +package data; + +import java.io.File; +import java.io.IOException; +import java.util.ArrayList; + +public class ManageFiles { + + private FetchData fetch = new FetchData(); + private static ArrayList missinglevels = new ArrayList(); // fehlende noch zu herunterladende level + + + private void feedMissingLevelsArray(String levelname) { // fehlende level werden missinglevels hinzugefügt + missinglevels.add(levelname); + } + + + public void compareArrays() throws IOException { // downloadedlevels und onlinelevels werden verglichen und die fehlenden level in missinglevels gepackt + + fetch.getGithubString(); + + for(int i = 0; i < fetch.allLevels().size(); i++) { + + File file = new File("C:\\ExtremeDemonList\\levels\\" + fetch.allLevels().get(i) + ".json"); + + if(!file.exists()) { // wenn der level lokal nicht vorhanden ist, wird er als fehlend gemeldet. + System.out.println(fetch.allLevels().get(i) + " fehlt"); + feedMissingLevelsArray(fetch.allLevels().get(i)); + } + } + + } + + public ArrayList missingLevels() { // missinglevels wird zurückgegeben + return missinglevels; + } + +} diff --git a/src/filestructure/CreateFileStructure.java b/src/filestructure/CreateFileStructure.java new file mode 100644 index 0000000..32554dd --- /dev/null +++ b/src/filestructure/CreateFileStructure.java @@ -0,0 +1,17 @@ +package filestructure; + +import java.io.File; + +public class CreateFileStructure { + + public void create() { + + File file = new File("C:\\ExtremeDemonList\\levels"); + + if(!file.isDirectory()) { + file.mkdir(); + } + + } + +} diff --git a/src/main/Main.java b/src/main/Main.java new file mode 100644 index 0000000..48b327c --- /dev/null +++ b/src/main/Main.java @@ -0,0 +1,29 @@ +package main; + +import java.io.IOException; + +import data.DownloadLevels; +import data.FetchData; +import data.ManageFiles; +import filestructure.CreateFileStructure; + +public class Main { + + public static void main(String[] args) throws IOException { + + CreateFileStructure struct = new CreateFileStructure(); + struct.create(); + + FetchData fetch = new FetchData(); + fetch.getGithubString(); + + ManageFiles manager = new ManageFiles(); + manager.compareArrays(); + + DownloadLevels download = new DownloadLevels(); + download.download(); + + + } + +} diff --git a/src/module-info.java b/src/module-info.java new file mode 100644 index 0000000..8b64736 --- /dev/null +++ b/src/module-info.java @@ -0,0 +1,8 @@ +/** + * + */ +/** + * + */ +module ExtremeDemonList { +} \ No newline at end of file