Advertisement
Pytypaldy

Parser - Dargovskych hrdinov

Dec 18th, 2017
91
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 7.33 KB | None | 0 0
  1. package core;
  2.  
  3. import java.io.BufferedReader;
  4. import java.io.BufferedWriter;
  5. import java.io.File;
  6. import java.io.FileReader;
  7. import java.io.FileWriter;
  8. import java.io.IOException;
  9.  
  10. public class ParserDargovskychHrdinov {
  11.  
  12.     public static String removeTags(String line) {
  13.         line = line.trim();
  14.         line = line.replaceAll("\\<.*?\\>", "");
  15.         return line;
  16.     }
  17.  
  18.     public static String[] zmluvnaStranaParser(String line) {
  19.         line = line.replace("Odberateľ:", "");
  20.         line = line.replace("Dodávateľ:", ",");
  21.         String[] parts = line.split(",");
  22.         for (int i = 0; i < parts.length; i++) {
  23.             parts[i] = parts[i].trim();
  24.         }
  25.         return parts;
  26.     }
  27.  
  28.     public static String createHeader() {
  29.         StringBuffer head = new StringBuffer();
  30.         head.append("CREATE TABLE IF NOT EXISTS fakturyDargov (");
  31.         head.append("id int,");
  32.         head.append("typ_faktury varchar(255),");
  33.         head.append("splatnost varchar(255),");
  34.         head.append("datum_vystavenia varchar(255),");
  35.         head.append("datum_evidencie varchar(255),");
  36.         head.append("datum_zdan_plnenia varchar(255),");
  37.         head.append("viaze_sa_k varchar(255),");
  38.         head.append("sposob_platby varchar(255),");
  39.         head.append("odberatel_nazov varchar(255),");
  40.         head.append("odberatel_ico varchar(255),");
  41.         head.append("odberatel_adresa varchar(255),");
  42.         head.append("odberatel_mesto varchar(255),");
  43.         head.append("odberatel_psc varchar(255),");
  44.         head.append("dodavatel_nazov varchar(255),");
  45.         head.append("dodavatel_ico varchar(255),");
  46.         head.append("dodavatel_adresa varchar(255),");
  47.         head.append("dodavatel_mesto varchar(255),");
  48.         head.append("dodavatel_psc varchar(255),");
  49.         head.append("predmet varchar(255),");
  50.         head.append("suma_s_DPH varchar(255),");
  51.         head.append("mena varchar(255),");
  52.         head.append("vystavena varchar(255),");
  53.         head.append("poznamka varchar(255)");
  54.         head.append(");");
  55.         head.append('\n');
  56.        
  57.         head.append("INSERT INTO fakturyDargov (id, typ_faktury, splatnost, datum_vystavenia, datum_evidencie, datum_zdan_plnenia, ");
  58.         head.append("viaze_sa_k, sposob_platby, odberatel_nazov, odberatel_ico, odberatel_adresa, odberatel_mesto, odberatel_psc, ");
  59.         head.append("dodavatel_nazov, dodavatel_ico, dodavatel_adresa, dodavatel_mesto, dodavatel_psc, predmet, suma_s_DPH, mena, vystavena, poznamka)");
  60.         head.append('\n');
  61.         head.append("VALUES");
  62.         return head.toString();
  63.     }
  64.  
  65.     public static void appendLine(String line) {
  66.         BufferedWriter bw = null;
  67.         FileWriter fw = null;
  68.  
  69.         try {
  70.             File file = new File("83612-63612.sql");
  71.             if (!file.exists()) {
  72.                 file.createNewFile();
  73.             }
  74.             fw = new FileWriter(file.getAbsoluteFile(), true);
  75.             bw = new BufferedWriter(fw);
  76.  
  77.             bw.write(line);
  78.             bw.write('\n');
  79.         } catch (IOException e) {
  80.             e.printStackTrace();
  81.         } finally {
  82.             try {
  83.                 if (bw != null)
  84.                     bw.close();
  85.  
  86.                 if (fw != null)
  87.                     fw.close();
  88.             } catch (IOException ex) {
  89.                 ex.printStackTrace();
  90.             }
  91.         }
  92.     }
  93.  
  94.     public static void read(String name, Integer id) {
  95.         try (BufferedReader br = new BufferedReader(new FileReader(name))) {
  96.             Integer write = 0;
  97.             Integer write2 = 0;
  98.             StringBuffer lineOut = new StringBuffer();
  99.             lineOut.append("(");
  100.             String prePreviousLine = "";
  101.             String previousLine = "";
  102.             String currentLine;
  103.  
  104.             lineOut.append("'");
  105.             lineOut.append(String.valueOf(id));
  106.             lineOut.append("',");
  107.  
  108.             while ((currentLine = br.readLine()) != null) {
  109.  
  110.                 if (previousLine.contains("<td><strong>Typ faktúry</strong></td>")) {
  111.                     String line = removeTags(currentLine);
  112.                     lineOut.append("'");
  113.                     lineOut.append(line);
  114.                     lineOut.append("',");
  115.                     if (!removeTags(line).equals(""))
  116.                         write++;
  117.                 }
  118.                 if (previousLine.contains("<td><strong>Splatnosť</strong></td>")) {
  119.                     String line = removeTags(currentLine);
  120.                     lineOut.append("'");
  121.                     lineOut.append(line);
  122.                     lineOut.append("',");
  123.                     if (!removeTags(line).equals(""))
  124.                         write++;
  125.                 }
  126.                 if (previousLine.contains("<td><strong>Dátum vystavenia</strong></td>")) {
  127.                     String line = removeTags(currentLine);
  128.                     lineOut.append("'");
  129.                     lineOut.append(line);
  130.                     lineOut.append("',");
  131.                     if (!removeTags(line).equals(""))
  132.                         write++;
  133.                 }
  134.                 if (previousLine.contains("<td><strong>Dátum evidencie</strong></td>")) {
  135.                     String line = removeTags(currentLine);
  136.                     lineOut.append("'");
  137.                     lineOut.append(line);
  138.                     lineOut.append("',");
  139.                     if (!removeTags(line).equals(""))
  140.                         write++;
  141.                 }
  142.                 if (previousLine.contains("<td><strong>Dátum zdan. plnenia</strong></td>")) {
  143.                     String line = removeTags(currentLine);
  144.                     lineOut.append("'");
  145.                     lineOut.append(line);
  146.                     lineOut.append("',");
  147.                     if (!removeTags(line).equals(""))
  148.                         write++;
  149.                 }
  150.                 if (previousLine.contains("<td><strong>Viaže sa k</strong></td>")) {
  151.                     String line = removeTags(currentLine);
  152.                     lineOut.append("'");
  153.                     lineOut.append(line);
  154.                     lineOut.append("',");
  155.                     if (!removeTags(line).equals(""))
  156.                         write++;
  157.                 }
  158.                 if (previousLine.contains("<td><strong>Spôsob platby</strong></td>")) {
  159.                     String line = removeTags(currentLine);
  160.                     lineOut.append("'");
  161.                     lineOut.append(line);
  162.                     lineOut.append("',");
  163.                     if (!removeTags(line).equals(""))
  164.                         write++;
  165.                 }
  166.                 if (prePreviousLine.contains("<td><strong>Zmluvná strana</strong></td>")) {
  167.                     String[] parts = zmluvnaStranaParser(removeTags(currentLine));
  168.                     for (int i = 0; i < parts.length; i++) {
  169.                         lineOut.append("'");
  170.                         lineOut.append(parts[i]);
  171.                         lineOut.append("',");
  172.                     }
  173.                     write2 = parts.length;
  174.                 }
  175.                 if (previousLine.contains("<td><strong>Predmet</strong></td>")) {
  176.                     String line = removeTags(currentLine);
  177.                     lineOut.append("'");
  178.                     lineOut.append(line);
  179.                     lineOut.append("',");
  180.                     if (!removeTags(line).equals(""))
  181.                         write++;
  182.                 }
  183.                 if (previousLine.contains("<td><strong>Suma s DPH</strong></td>")) {
  184.                     String line = removeTags(currentLine);
  185.                     lineOut.append("'");
  186.                     lineOut.append(line);
  187.                     lineOut.append("',");
  188.                     if (!removeTags(line).equals(""))
  189.                         write++;
  190.                 }
  191.                 if (previousLine.contains("<td><strong>Mena</strong></td>")) {
  192.                     String line = removeTags(currentLine);
  193.                     lineOut.append("'");
  194.                     lineOut.append(line);
  195.                     lineOut.append("',");
  196.                     if (!removeTags(line).equals(""))
  197.                         write++;
  198.                 }
  199.                 if (previousLine.contains("<td><strong>Vystavená</strong></td>")) {
  200.                     String line = removeTags(currentLine);
  201.                     lineOut.append("'");
  202.                     lineOut.append(line);
  203.                     lineOut.append("',");
  204.                     if (!removeTags(line).equals(""))
  205.                         write++;
  206.                 }
  207.                 if (previousLine.contains("<td><strong>Poznámka</strong></td>")) {
  208.                     String line = removeTags(currentLine);
  209.                     lineOut.append("'");
  210.                     lineOut.append(line);
  211.                     lineOut.append("'");
  212.                     if (!removeTags(line).equals(""))
  213.                         write++;
  214.                 }
  215.                 prePreviousLine = previousLine;
  216.                 previousLine = currentLine;
  217.             }
  218.             lineOut.append("),");
  219.             if (write > 4 && write2 == 10)
  220.                 appendLine(lineOut.toString());
  221.         } catch (IOException e) {
  222.             e.printStackTrace();
  223.         }
  224.     }
  225.  
  226.     public static void readAll() {
  227.         for (int i = 83612; i > 63612; i--) {
  228.             read("DargovskychHrdinov/83612-63612/" + String.valueOf(i) + ".html", i);
  229.             System.out.println(i);
  230.         }
  231.     }
  232.  
  233.     public static void main(String[] args) {
  234.         appendLine(createHeader());
  235.         readAll();
  236.  
  237.     }
  238.  
  239. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement