From 8e411eca376fada32f94304ab5efe64bcba673a8 Mon Sep 17 00:00:00 2001 From: esoe Date: Fri, 11 Nov 2022 20:46:15 +0300 Subject: [PATCH] qq --- .../molokoin/molokoin-client/css/style.css | 45 ++++++ out/unzip/molokoin/molokoin-client/index.html | 23 +++ out/unzip/molokoin/molokoin-client/js/main.js | 1 + out/zip/molokoin-client-master.zip | Bin 0 -> 2209 bytes .../sourceListener/SourceListener.java | 148 ------------------ .../sourceListener/{ => git}/RepoCrafter.java | 13 +- .../molokoin/sourceListener/net/Service.java | 32 ++++ .../sourceListener/{ => opt}/Options.java | 2 +- .../molokoin/sourceListener/GitListener.class | Bin 0 -> 6397 bytes .../molokoin/sourceListener/RepoCrafter.class | Bin 2742 -> 0 bytes .../sourceListener/SourceListener.class | Bin 6860 -> 0 bytes .../sourceListener/git/RepoCrafter.class | Bin 0 -> 2799 bytes .../molokoin/sourceListener/net/Service.class | Bin 0 -> 2678 bytes .../sourceListener/{ => opt}/Options.class | Bin 2216 -> 2224 bytes 14 files changed, 107 insertions(+), 157 deletions(-) create mode 100644 out/unzip/molokoin/molokoin-client/css/style.css create mode 100644 out/unzip/molokoin/molokoin-client/index.html create mode 100644 out/unzip/molokoin/molokoin-client/js/main.js create mode 100644 out/zip/molokoin-client-master.zip delete mode 100644 src/main/java/ru/molokoin/sourceListener/SourceListener.java rename src/main/java/ru/molokoin/sourceListener/{ => git}/RepoCrafter.java (80%) create mode 100644 src/main/java/ru/molokoin/sourceListener/net/Service.java rename src/main/java/ru/molokoin/sourceListener/{ => opt}/Options.java (94%) create mode 100644 target/classes/ru/molokoin/sourceListener/GitListener.class delete mode 100644 target/classes/ru/molokoin/sourceListener/RepoCrafter.class delete mode 100644 target/classes/ru/molokoin/sourceListener/SourceListener.class create mode 100644 target/classes/ru/molokoin/sourceListener/git/RepoCrafter.class create mode 100644 target/classes/ru/molokoin/sourceListener/net/Service.class rename target/classes/ru/molokoin/sourceListener/{ => opt}/Options.class (85%) diff --git a/out/unzip/molokoin/molokoin-client/css/style.css b/out/unzip/molokoin/molokoin-client/css/style.css new file mode 100644 index 0000000..50893ee --- /dev/null +++ b/out/unzip/molokoin/molokoin-client/css/style.css @@ -0,0 +1,45 @@ +body { + font-family: Arial; + padding: 20px; + background: #f1f1f1; +} +div { + background-color: rgb(181, 122, 236); + padding: 5px; + margin: 5px; +} +.header{ + display: block; + padding: 30px; + font-size: 40px; + text-align: center; + background: rgb(181, 122, 236); + /*position: relative; top: 20px;*/ +} +.controls{ + /*position: relative; left: 20px;*/ + list-style: none; /* Отключение отображения маркеров. */ + width: 25%; /* Ширина меню. */ + float: left; + /*padding-left: 20px;*/ +} +.controls li { + margin: 5px; /* Отступ между блоками по высоте, необходимый для того чтобы пункты меню не сливались */ + font-family: Verdana, Arial, Helvetica, sans-serif; /* Тип шрифта пунктов меню */ + font-size: 14px; /* Размер текста меню */ +} +.controls li a{ + display: block; /* Изменение отображения на блочное для того, чтобы иметь возможность задать внутренние отступы. */ + padding: 4px 15px; /* Отступы внутри блоков. */ + background: #0db5b5; /* Цвет блоков меню. */ + color: #3f3f3f; /* Цвет текста в блоках меню. */ + text-decoration: none; /* Устранение подчёркивания ссылок. */ + position: relative; /* Это необходимо при использовании Internet Explorer 6 для того, чтобы ссылка по всей своей площади была «кликабельной». */ +} +.controls li a:hover { + background: #92d3d3; /* Цвет фона при наведении курсора мыши */ + color: #6b6b6b; /* Цвет текста при наведении курсора мыши */ +} +.mainframe{ + background-color: aliceblue; +} \ No newline at end of file diff --git a/out/unzip/molokoin/molokoin-client/index.html b/out/unzip/molokoin/molokoin-client/index.html new file mode 100644 index 0000000..744949d --- /dev/null +++ b/out/unzip/molokoin/molokoin-client/index.html @@ -0,0 +1,23 @@ + + + + + + + molokoin.ru + + + +
+ molokoin.ru/ добавить картинку и кнопку авторизации +
+
+
  • gitea
  • +
  • apache
  • +
  • moodle
  • +
  • adminvps
  • + +
    + + + \ No newline at end of file diff --git a/out/unzip/molokoin/molokoin-client/js/main.js b/out/unzip/molokoin/molokoin-client/js/main.js new file mode 100644 index 0000000..1a90dbd --- /dev/null +++ b/out/unzip/molokoin/molokoin-client/js/main.js @@ -0,0 +1 @@ +console.log("qu") \ No newline at end of file diff --git a/out/zip/molokoin-client-master.zip b/out/zip/molokoin-client-master.zip new file mode 100644 index 0000000000000000000000000000000000000000..61ce159969f3da12e8d70a73511affff95a8325f GIT binary patch literal 2209 zcmWIWW@h1H00HlyDIs76ln`LxWXR3W$r#2BR z+LDWlF|~4lZG4l?KP!%zf#D201A{CMt;HpkIjMR;L*UlW4Gqk`6(CZl|HVE=qj~L$ zwNa`G^r;l(t!+8> zXM&EeQ))VRXTnczq21Hp-O4)4{pP~A2XBqr+sfwVPQ0-CsA*K}Ym^)UX3;QP;w7UIio9y#B8Ecj4a!u^kvNkw~n=H?$B zKXl(8xbj@E&VA2pWzH|sw|TY;uKSYFt#M_3K?Xzi3F}L|9FJ^l^DO09txp=BjSaW7 zcCWEYOqsAEVOPJW)S}M(?*7sP+I5;yE%6^1SA3gzT=%`8-81DwyBF!s(mJl;>|hwQ zbKZmRLR0cxXWtjN!#82ms>AXYotJm0RH3{xn~Rob~yO z!k)B!p0Tqo3QttjpBbFKF!z8^fcXiwGuw6N-Y|dA+gYK1TC>k_k+G{onc`9dVXtoE z{S!rAXj{adUc5+gbJv4=S28ZY`}}lSH@mZ9-L;BU4g9a&Ryve2DM>$aF^Ru_#;38m z>$%{n_MpCy8G;`ktgPbsY|0el)cbMf!i+|U{o|zWX_GD_^GgcMN zB{TMhxERlx9~t&KZE1++%UypOjBlLZp)1i;QN30~xAN?+b7m{7Rg()hF?hX|oh&)e z|ErwG@!z|>yuKx`@=ew(75OuHR@&O|yIOPdoc?P?bnVYL=<(tHrc`b<52@q3N+g&> z^Ayfq*b*qj)gO2A?~6?n_S{&%Q0R>MZ2nbAPHWe@Iq(+=FU)^(!*lM5XqyQ}zZZN_ zj9wmN_2k|3J4GBi;Rjj!yqto%%*&haB)y!zeXmu--_Q3P&(9M*vnX=T>zjrb+Nx|q zU+tLQe?Yk_*v&h7(ZVu+XJ0w7i`6%tt8R>(7_M{X=&T>>C5(>7X6>HlUw(7%``|qX zc)|+5&8Tty#|q2bkR1B2SFC&kBLjmmFqcYU$)TBfDXA5D86~+n@a#D?_-x)41A%?Y zANh`@3oS2*4E^Y}LZnkzCW^B!&nV}P)wa&%oYkwlj&!zba&(3+ofckjufx-FmXmzvuTywr-8ItDC|-aGQX@N)e3_{crI=6^%$Wz9e8-TO8_@(#~NYpvf~zpk8i>HA;N zsehI{(oZoDPIjF8oyRa{U7^~U;|umq-#P1>REU*GlG&|?pLI^Nu(&T;W72f0HR@TD zL;dm>yY%K>*4f1Bxp0q`)(?KJ2-g0V=PGlw&+d0B{lI=cDD>K`ZFW6B=5B6JJb%&Y zVn)A?N$Zp6j#s+2SuEfEG-ii{YZ`0U|OO-SOycwAo7;slfklINAT1nxlpl}-l zs-h6am;;&U#-LSLFr%xlyvEsadkQg{5g)8USnfRj2>} literal 0 HcmV?d00001 diff --git a/src/main/java/ru/molokoin/sourceListener/SourceListener.java b/src/main/java/ru/molokoin/sourceListener/SourceListener.java deleted file mode 100644 index 5bf9c3e..0000000 --- a/src/main/java/ru/molokoin/sourceListener/SourceListener.java +++ /dev/null @@ -1,148 +0,0 @@ -package ru.molokoin.sourceListener; - -import java.io.BufferedInputStream; -import java.io.File; -import java.io.FileOutputStream; -import java.io.IOException; -import java.net.URI; -import java.net.http.HttpClient; -import java.net.http.HttpRequest; -import java.net.http.HttpResponse; -import java.nio.file.Path; -import java.nio.file.StandardOpenOption; -import java.util.Enumeration; -import java.util.zip.ZipEntry; -import java.util.zip.ZipFile; - -import org.eclipse.jgit.api.Git; -import org.eclipse.jgit.api.errors.GitAPIException; -import org.eclipse.jgit.api.errors.InvalidRemoteException; -import org.eclipse.jgit.api.errors.TransportException; -import org.eclipse.jgit.lib.Repository; - -import com.fasterxml.jackson.core.exc.StreamReadException; -import com.fasterxml.jackson.databind.DatabindException; -import com.fasterxml.jackson.databind.ObjectMapper; - -public class SourceListener { - public Options opt; - public String optionsPath = "options-home.json"; - public SourceListener(){ - try { - opt = readOptions(); - } catch (StreamReadException e) { - System.out.println(e.getMessage()); - e.printStackTrace(); - } catch (DatabindException e) { - System.out.println(e.getMessage()); - e.printStackTrace(); - } catch (IOException e) { - System.out.println(e.getMessage()); - e.printStackTrace(); - } - } - /** - * Метод запускает бесконечный цикл проверки обновлений в репозитарии. - */ - public void live(){ - // - } - /** - * Метод проверяет, поступили ли обновления в репозитарий - * @return - */ - public boolean isUpdated(){ - try { - Repository repo = RepoCrafter.copy(opt.getGitLink(), new File(opt.getGitLocalPath())); - System.out.println(repo.getConfig()); - System.out.println(repo.getIndexFile()); - Git git = new Git(repo); - - - //repo.close(); - } catch (InvalidRemoteException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } catch (TransportException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } catch (IOException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } catch (GitAPIException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } - return true; - } - /** - * Извлечение данных из options.json - * @return - * @throws StreamReadException - * @throws DatabindException - * @throws IOException - */ - public Options readOptions() throws StreamReadException, DatabindException, IOException{ - Options opt; - ObjectMapper mapper = new ObjectMapper(); - opt = mapper.readValue(new File(optionsPath), Options.class); - return opt; - } - public Options getOpt() { - return opt; - } - /** - * распаковка архива - */ - public void extract()throws IOException{ - //считываем настройки извлечения - try (ZipFile file = new ZipFile(opt.getZipPath())){ - Enumeration zipEntries = file.entries(); - while (zipEntries.hasMoreElements()){ - ZipEntry zipEntry = zipEntries.nextElement(); - File newFile = new File(opt.getUnzipPath(), zipEntry.getName()); - newFile.getParentFile().mkdirs(); - if (!zipEntry.isDirectory()){ - try (FileOutputStream outputStream = new FileOutputStream(newFile)){ - BufferedInputStream inputStream = new BufferedInputStream(file.getInputStream(zipEntry)); - while (inputStream.available() > 0){ - outputStream.write(inputStream.read()); - } - inputStream.close(); - } - } - } - } - } - /** - * скачиваем архив проекта из системы контроля версий, - * или иной файл с другого ресурса ... - */ - public void download(){ - HttpClient client = HttpClient.newHttpClient(); - HttpRequest request = HttpRequest.newBuilder() - .uri(URI.create(opt.getZipLink())) - .build(); - try { - HttpResponse response = client.send(request, - HttpResponse.BodyHandlers.ofFileDownload(Path.of(opt.getDownloadPath()), StandardOpenOption.CREATE, StandardOpenOption.WRITE)); - System.out.println(response.statusCode()); - System.out.println(response.headers()); - Path path = response.body(); - System.out.println("Path = " + path); - } catch (Exception e) { - System.out.println(e.getMessage()); - } - } - - public static void main(String[] args) { - SourceListener ear = new SourceListener(); - // try { - // ear.download(); - // ear.extract(); - // } catch (IOException e) { - // System.out.println(e.getMessage()); - // } - ear.isUpdated(); - } -} diff --git a/src/main/java/ru/molokoin/sourceListener/RepoCrafter.java b/src/main/java/ru/molokoin/sourceListener/git/RepoCrafter.java similarity index 80% rename from src/main/java/ru/molokoin/sourceListener/RepoCrafter.java rename to src/main/java/ru/molokoin/sourceListener/git/RepoCrafter.java index fc17eb4..931ba1e 100644 --- a/src/main/java/ru/molokoin/sourceListener/RepoCrafter.java +++ b/src/main/java/ru/molokoin/sourceListener/git/RepoCrafter.java @@ -1,8 +1,7 @@ -package ru.molokoin.sourceListener; +package ru.molokoin.sourceListener.git; import java.io.File; import java.io.IOException; -import java.nio.file.Path; import org.eclipse.jgit.api.Git; import org.eclipse.jgit.api.errors.GitAPIException; @@ -10,8 +9,6 @@ import org.eclipse.jgit.api.errors.InvalidRemoteException; import org.eclipse.jgit.api.errors.TransportException; import org.eclipse.jgit.lib.Repository; import org.eclipse.jgit.storage.file.FileRepositoryBuilder; -import org.eclipse.jgit.util.FileUtils; - public class RepoCrafter { @@ -36,10 +33,10 @@ public class RepoCrafter { return repository; } - public static Repository copy(String gitLink, File localPath) throws IOException, InvalidRemoteException, TransportException, GitAPIException{ + public static Repository copy(String gitLink, String localPath) throws IOException, InvalidRemoteException, TransportException, GitAPIException{ // prepare a new folder for the cloned repository - //File localPath = new File(locationPath); - if(!localPath.delete()) { + File localFile = new File(localPath); + if(!localFile.delete()) { throw new IOException("Could not delete temporary file " + localPath); } @@ -47,7 +44,7 @@ public class RepoCrafter { System.out.println("Cloning from " + gitLink + " to " + localPath); Git result = Git.cloneRepository() .setURI(gitLink) - .setDirectory(localPath) + .setDirectory(localFile) //.setProgressMonitor(new SimpleProgressMonitor()) .call(); // Note: the call() returns an opened repository already which needs to be closed to avoid file handle leaks! diff --git a/src/main/java/ru/molokoin/sourceListener/net/Service.java b/src/main/java/ru/molokoin/sourceListener/net/Service.java new file mode 100644 index 0000000..1b1d5a5 --- /dev/null +++ b/src/main/java/ru/molokoin/sourceListener/net/Service.java @@ -0,0 +1,32 @@ +package ru.molokoin.sourceListener.net; + +import java.net.URI; +import java.net.http.HttpClient; +import java.net.http.HttpRequest; +import java.net.http.HttpResponse; +import java.nio.file.Path; +import java.nio.file.StandardOpenOption; + +public class Service { + /** + * Метод cкачивает файл c удаленного ресурса и размещает в указанной папке на локальном устройстве + * @param sourceLink + * @param localPath + */ + public static void download(String sourceLink, String localPath){ + HttpClient client = HttpClient.newHttpClient(); + HttpRequest request = HttpRequest.newBuilder() + .uri(URI.create(sourceLink)) + .build(); + try { + HttpResponse response = client.send(request, + HttpResponse.BodyHandlers.ofFileDownload(Path.of(localPath), StandardOpenOption.CREATE, StandardOpenOption.WRITE)); + System.out.println(response.statusCode()); + System.out.println(response.headers()); + Path path = response.body(); + System.out.println("Path = " + path); + } catch (Exception e) { + System.out.println(e.getMessage()); + } + } +} diff --git a/src/main/java/ru/molokoin/sourceListener/Options.java b/src/main/java/ru/molokoin/sourceListener/opt/Options.java similarity index 94% rename from src/main/java/ru/molokoin/sourceListener/Options.java rename to src/main/java/ru/molokoin/sourceListener/opt/Options.java index f34a266..2dc40d4 100644 --- a/src/main/java/ru/molokoin/sourceListener/Options.java +++ b/src/main/java/ru/molokoin/sourceListener/opt/Options.java @@ -1,4 +1,4 @@ -package ru.molokoin.sourceListener; +package ru.molokoin.sourceListener.opt; public class Options { private String zipLink; diff --git a/target/classes/ru/molokoin/sourceListener/GitListener.class b/target/classes/ru/molokoin/sourceListener/GitListener.class new file mode 100644 index 0000000000000000000000000000000000000000..82b0225c4e986822bf58ab1ee3322d490b175ba8 GIT binary patch literal 6397 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 literal 0 HcmV?d00001 diff --git a/target/classes/ru/molokoin/sourceListener/RepoCrafter.class b/target/classes/ru/molokoin/sourceListener/RepoCrafter.class deleted file mode 100644 index 0f805e202800a4a86f0c28c761ea471ad466e814..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2742 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 SINu{KVPo0Mv6$mFc>W7j)+=BD diff --git a/target/classes/ru/molokoin/sourceListener/git/RepoCrafter.class b/target/classes/ru/molokoin/sourceListener/git/RepoCrafter.class new file mode 100644 index 0000000000000000000000000000000000000000..ceebf36c6712cf09f590f7ffac6185a8d5981bf6 GIT binary patch literal 2799 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