From 69e04a1522cb524e7971c5570ca56a336a221764 Mon Sep 17 00:00:00 2001 From: Dean Jackson Date: Sat, 26 Jan 2019 19:29:09 +0100 Subject: [PATCH] CMD+C copies result without thousands separator. Closes #50 --- ...edworkflow => Convert-3.5.2.alfredworkflow | Bin 278726 -> 278877 bytes README.md | 3 ++- src/convert.py | 21 +++++++++++++++--- src/info.plist | 8 ++++--- 4 files changed, 25 insertions(+), 7 deletions(-) rename Convert-3.5.1.alfredworkflow => Convert-3.5.2.alfredworkflow (86%) diff --git a/Convert-3.5.1.alfredworkflow b/Convert-3.5.2.alfredworkflow similarity index 86% rename from Convert-3.5.1.alfredworkflow rename to Convert-3.5.2.alfredworkflow index 4aa8852d9986293ddcf7dddd6f4e81b492f3a109..ee9a9376bdce2018c0f71d6c10900219b57d86b0 100644 GIT binary patch delta 11397 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 diff --git a/README.md b/README.md index 87e9cb9..26a1008 100644 --- a/README.md +++ b/README.md @@ -41,7 +41,8 @@ Usage ----- - `conv []` — Perform a conversion - - `↩` or `⌘C` — Copy the result to the pasteboard + - `↩` — Copy the result to the pasteboard + - `⌘C` — Copy result to pasteboard without thousands separator - `⌘↩` — Add/remove destination unit as default for this dimensionality - `⌘L` — Show result in Alfred's Large Type window - `convinfo` — View help file and information about the workflow, or edit custom units and active currencies diff --git a/src/convert.py b/src/convert.py index 5b276ea..c0f940c 100755 --- a/src/convert.py +++ b/src/convert.py @@ -230,6 +230,19 @@ def formatted(self, n, unit=None): return num + def formatted_no_thousands(self, n, unit=None): + """Format number with decimal separator only.""" + fmt = u'{{:0.{:d}f}}'.format(self._decimal_places(n)) + num = fmt.format(n) + # log.debug('n=%r, fmt=%r, num=%r', n, fmt, num) + num = num.replace('.', '||point||') + num = num.replace('||point||', self.decimal_separator) + + if unit: + num = u'{} {}'.format(num, unit) + + return num + class Conversion(object): """Results of a conversion. @@ -577,13 +590,15 @@ def convert(query): DYNAMIC_DECIMALS) wf.setvar('query', query) for conv in results: - value = copytext = f.formatted(conv.to_number, conv.to_unit) + value = arg = f.formatted(conv.to_number, conv.to_unit) + copytext = f.formatted_no_thousands(conv.to_number, conv.to_unit) if not COPY_UNIT: - copytext = f.formatted(conv.to_number) + arg = f.formatted(conv.to_number) + copytext = f.formatted_no_thousands(conv.to_number) it = wf.add_item(value, valid=True, - arg=copytext, + arg=arg, copytext=copytext, largetext=value, icon='icon.png') diff --git a/src/info.plist b/src/info.plist index eff1beb..f07e1c2 100644 --- a/src/info.plist +++ b/src/info.plist @@ -489,7 +489,7 @@ variables={allvars} Based on the awesome Pint library. -In addition to all units supported by Pint, all the currencies supported by Yahoo! Finance and cryptocurrencies supported by CryptoCompare.com are supported. +In addition to all units supported by Pint, almost all the currencies supported by OpenExchangeRates.org and cryptocurrencies supported by CryptoCompare.com are supported. You can also add your own custom units. @@ -499,9 +499,11 @@ Configuration COPY_UNIT determines whether the unit is also copied when you press CMD+C. 0 or no value means the unit won't be copied. Any other value means the unit will also be copied. +CURRENCY_DECIMAL_PLACES overrides DECIMAL_PLACES (see below) for currency conversion. + DECIMAL_PLACES is the number of decimal places to show in conversion results. -DECIMAL_SEPARATOR is the character used to separate whole numbers from decimal fraction when parsing and outputting numbers. +DECIMAL_SEPARATOR is the character used to separate whole numbers from decimal fraction when parsing input and displaying output (see also THOUSANDS_SEPARATOR below). DYNAMIC_DECIMALS is whether to dynamically increase the number of decimal places shown until the result is non-zero. Set to 0 or empty to turn off. @@ -643,7 +645,7 @@ UPDATE_INTERVAL is the number of minutes between exchange rate updates. APP_KEY version - 3.5.1 + 3.5.2 webaddress