Changeset 30:cefd5fe75cb8
- Timestamp:
- 08/22/11 01:26:23 (14 years ago)
- Author:
- František Kučera <franta-hg@…>
- Branch:
- default
- Message:
-
#12 konstanty příkazů + chybová hláška u which.
- Files:
-
Legend:
- Unmodified
- Added
- Removed
-
|
r28
|
r30
|
|
| 20 | 20 | public class Funkce { |
| 21 | 21 | |
| | 22 | private static final String PŘÍKAZ_PYGMENTIZE = "pygmentize"; |
| | 23 | private static final String PŘÍKAZ_WHICH = "which"; |
| | 24 | |
| 22 | 25 | /** |
| 23 | 26 | * Zjištuje, kdy byl naposledy daný soubor změněn. |
| … |
… |
|
| 40 | 43 | */ |
| 41 | 44 | public static String zvýrazniSyntaxi(String zdroják, String jazyk) throws IOException, InterruptedException { |
| 42 | | String příkaz = "pygmentize"; |
| 43 | | |
| 44 | 45 | if (jazyk == null || jazyk.length() == 0) { |
| 45 | 46 | System.err.println("Není vyplněn atribut „jazyk“ → není jasné, jak se má zvýrazňovat."); |
| 46 | 47 | return null; |
| 47 | | } else if (isPrikazDostupny(příkaz)) { |
| | 48 | } else if (isPrikazDostupny(PŘÍKAZ_PYGMENTIZE)) { |
| 48 | 49 | Runtime r = Runtime.getRuntime(); |
| 49 | | Process p = r.exec(new String[]{příkaz, "-f", "html", "-l", jazyk}); |
| | 50 | Process p = r.exec(new String[]{PŘÍKAZ_PYGMENTIZE, "-f", "html", "-l", jazyk}); |
| 50 | 51 | |
| 51 | 52 | PrintStream vstupProcesu = new PrintStream(p.getOutputStream()); |
| … |
… |
|
| 66 | 67 | } |
| 67 | 68 | } else { |
| 68 | | System.err.println("Příkaz " + příkaz + " není na vašem systému dostupný → zvýrazňování syntaxe nebude fungovat."); |
| | 69 | System.err.println("Příkaz " + PŘÍKAZ_PYGMENTIZE + " není na vašem systému dostupný → zvýrazňování syntaxe nebude fungovat."); |
| 69 | 70 | System.err.println("Můžete ho nainstalovat pomocí:"); |
| 70 | 71 | System.err.println("\t$ aptitude install python-pygments # (Debian/Ubuntu)"); |
| … |
… |
|
| 103 | 104 | try { |
| 104 | 105 | Runtime r = Runtime.getRuntime(); |
| 105 | | Process p = r.exec(new String[]{"which", příkaz}); |
| | 106 | Process p = r.exec(new String[]{PŘÍKAZ_WHICH, příkaz}); |
| 106 | 107 | p.waitFor(); |
| 107 | 108 | return p.exitValue() == 0; |
| 108 | 109 | } catch (Exception e) { |
| | 110 | System.err.printf("Při zjišťování dostupnosti příkazu „%s“ došlo k chybě: %s", příkaz, e.getLocalizedMessage()); |
| 109 | 111 | return false; |
| 110 | 112 | } |