From f6471764de642bb896da100a2bbaffd544664cac Mon Sep 17 00:00:00 2001 From: wjoe Date: Wed, 10 Apr 2013 15:55:38 +0100 Subject: Added Litecoin conversion. Made the code look even worse --- blaconvert.java | 96 +++++++++++++++++++++++++++++++++++++++++++-------------- 1 file changed, 73 insertions(+), 23 deletions(-) (limited to 'blaconvert.java') diff --git a/blaconvert.java b/blaconvert.java index e16533f..a84e13e 100644 --- a/blaconvert.java +++ b/blaconvert.java @@ -16,12 +16,13 @@ /* blaconvert - Java program for converting units of measurement and currency using Google APIs by blatech - + Copyright 2011 Joe Robinson based on code by Jamie Walters based on code by Joe Robinson - Version 1.41 + Version 1.42 + This code is now a terrible mess of hacks on top of hacks. I'm sorry. CHANGELOG 1.0 - First version @@ -37,6 +38,7 @@ 1.34 - Fixed output of negative numbers 1.4 - Added bitcoin conversion 1.41 - Allowed "bitcoin"(s) in translation string as well as BTC + 1.42 - Added litecoin conversion TODO - Raw output option - result only with no spaces/commas/units */ @@ -56,7 +58,7 @@ public class blaconvert { String sourceUnit = ""; String targetUnit = ""; String amount = ""; - String version = "1.41"; + String version = "1.42"; /* Build query from query or arguments, depending on whether arguments were given. */ @@ -142,19 +144,32 @@ public class blaconvert { currency = true; } - + String response = ""; + BufferedReader br; + double dresult = 0.0; + URL url; + URLConnection urlc; //Bitcoin conversion - if (sourceUnit.trim().toUpperCase().equals("BTC") || sourceUnit.trim().toUpperCase().contains("BITCOIN")) { - URL url = new URL("https://blockchain.info/tobtc?currency="+targetUnit.toUpperCase()+"&value=1"); + if (sourceUnit.trim().toUpperCase().equals("BTC") || sourceUnit.trim().toUpperCase().contains("BITCOIN") + || sourceUnit.trim().toUpperCase().equals("LTC") || sourceUnit.trim().toUpperCase().contains("LITECOIN")) { + if (targetUnit.trim().toUpperCase().equals("LTC") || targetUnit.trim().toUpperCase().contains("LITECOIN")) { + dresult = Double.parseDouble(amount); + url = new URL("http://www.lc8n.com/upload/ltc"); + urlc = url.openConnection(); + br = new BufferedReader(new InputStreamReader(urlc.getInputStream())); + String ltcresponse = br.readLine(); + double value = Double.parseDouble(ltcresponse); + dresult = (dresult*(1/value)); + + } else { + url = new URL("https://blockchain.info/tobtc?currency="+targetUnit.toUpperCase()+"&value=1"); try { - URLConnection urlc = url.openConnection(); - BufferedReader br = new BufferedReader(new InputStreamReader(urlc.getInputStream())); - String response = br.readLine(); - double result = Double.parseDouble(response); + urlc = url.openConnection(); + br = new BufferedReader(new InputStreamReader(urlc.getInputStream())); + response = br.readLine(); + dresult = Double.parseDouble(response); double value = Double.parseDouble(amount); - result = ((1/result)*value); - System.out.println(amount+" Bitcoins = "+result+" "+targetUnit); - System.exit(0); + dresult = ((1/dresult)*value); } catch (Exception e) { if(e.toString().contains("500")) { System.out.println("500 Error: Probably unknown currency"); @@ -163,15 +178,38 @@ public class blaconvert { } System.exit(1); } + + if (sourceUnit.trim().toUpperCase().equals("LTC") || sourceUnit.trim().toUpperCase().contains("LITECOIN")) { + url = new URL("http://www.lc8n.com/upload/ltc"); + urlc = url.openConnection(); + br = new BufferedReader(new InputStreamReader(urlc.getInputStream())); + String ltcresponse = br.readLine(); + double value = Double.parseDouble(ltcresponse); + dresult = (dresult*value); + + } + } + response = String.format("%.6f", dresult); + System.out.println(amount+" "+sourceUnit+" = "+response+" "+targetUnit); + System.exit(0); + - } else if (targetUnit.trim().toUpperCase().equals("BTC") || targetUnit.trim().toUpperCase().contains("BITCOINS")) { - URL url = new URL("https://blockchain.info/tobtc?currency="+sourceUnit.toUpperCase()+"&value="+amount); - URLConnection urlc = url.openConnection(); + } else if (targetUnit.trim().toUpperCase().equals("BTC") || targetUnit.trim().toUpperCase().contains("BITCOINS") + || targetUnit.trim().toUpperCase().equals("LTC") || targetUnit.trim().toUpperCase().contains("LITECOIN")) { + if (sourceUnit.trim().toUpperCase().equals("LTC") || sourceUnit.trim().toUpperCase().contains("LITECOIN")) { + url = new URL("http://www.lc8n.com/upload/ltc"); + urlc = url.openConnection(); + br = new BufferedReader(new InputStreamReader(urlc.getInputStream())); + String ltcresponse = br.readLine(); + double value = Double.parseDouble(ltcresponse); + dresult = (dresult*value); + } else { + url = new URL("https://blockchain.info/tobtc?currency="+sourceUnit.toUpperCase()+"&value="+amount); + urlc = url.openConnection(); try { - BufferedReader br = new BufferedReader(new InputStreamReader(urlc.getInputStream())); - String response = br.readLine(); - System.out.println(amount+" "+sourceUnit+" = "+response+" Bitcoins"); - System.exit(0); + br = new BufferedReader(new InputStreamReader(urlc.getInputStream())); + response = br.readLine(); + dresult = Double.parseDouble(response); } catch (Exception e) { if(e.toString().contains("500")) { System.out.println("500 Error: Probably unknown currency"); @@ -180,15 +218,27 @@ public class blaconvert { } System.exit(1); } + if (targetUnit.trim().toUpperCase().equals("LTC") || targetUnit.trim().toUpperCase().contains("LITECOIN")) { + url = new URL("http://www.lc8n.com/upload/ltc"); + urlc = url.openConnection(); + br = new BufferedReader(new InputStreamReader(urlc.getInputStream())); + String ltcresponse = br.readLine(); + double value = Double.parseDouble(ltcresponse); + dresult = (dresult*(1/value)); + } + } + response = String.format("%.6f", dresult); + System.out.println(amount+" "+sourceUnit+" = "+response+" "+targetUnit); + System.exit(0); } //URL which provides XML response - URL url = new URL("http://www.google.com/ig/calculator?hl=en&q="+amount+sourceUnit+"=?"+targetUnit); + url = new URL("http://www.google.com/ig/calculator?hl=en&q="+amount+sourceUnit+"=?"+targetUnit); //System.out.println("http://www.google.com/ig/calculator?hl=en&q="+amount+sourceUnit+"=?"+targetUnit); - URLConnection urlc = url.openConnection(); + urlc = url.openConnection(); - BufferedReader br = new BufferedReader(new InputStreamReader(urlc.getInputStream())); + br = new BufferedReader(new InputStreamReader(urlc.getInputStream())); String line; String[] lines; String tempString = ""; -- cgit v1.2.3