simplify setup.py using package_data
This commit is contained in:
@@ -76,7 +76,8 @@ def theme_dirs_from_prefix(prefix):
|
|||||||
|
|
||||||
def load_theme_paths():
|
def load_theme_paths():
|
||||||
theme_paths = {}
|
theme_paths = {}
|
||||||
theme_paths.update(theme_dirs_from_prefix(util.data_dir()))
|
theme_dir = os.path.join(os.path.dirname(__file__), 'themes')
|
||||||
|
theme_paths.update(theme_dirs_from_prefix(theme_dir))
|
||||||
return theme_paths
|
return theme_paths
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -18,11 +18,7 @@
|
|||||||
|
|
||||||
import gettext, os
|
import gettext, os
|
||||||
|
|
||||||
if os.path.exists('./locale'):
|
LOCALE_DIR = os.path.join(os.path.dirname(__file__), 'locale')
|
||||||
LOCALE_DIR = './locale'
|
|
||||||
else:
|
|
||||||
LOCALE_DIR = '/usr/share/locale'
|
|
||||||
|
|
||||||
language = gettext.translation('electrum', LOCALE_DIR, fallback = True)
|
language = gettext.translation('electrum', LOCALE_DIR, fallback = True)
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -26,7 +26,6 @@ import string
|
|||||||
import ecdsa
|
import ecdsa
|
||||||
import pbkdf2
|
import pbkdf2
|
||||||
|
|
||||||
import util
|
|
||||||
from util import print_error
|
from util import print_error
|
||||||
from bitcoin import is_old_seed, is_new_seed
|
from bitcoin import is_old_seed, is_new_seed
|
||||||
import version
|
import version
|
||||||
@@ -104,7 +103,7 @@ class Mnemonic(object):
|
|||||||
lang = i18n.language.info().get('language', 'en')
|
lang = i18n.language.info().get('language', 'en')
|
||||||
print_error('language', lang)
|
print_error('language', lang)
|
||||||
filename = filenames.get(lang[0:2], 'english.txt')
|
filename = filenames.get(lang[0:2], 'english.txt')
|
||||||
path = os.path.join(util.data_dir(), 'wordlist', filename)
|
path = os.path.join(os.path.dirname(__file__), 'wordlist', filename)
|
||||||
s = open(path,'r').read().strip()
|
s = open(path,'r').read().strip()
|
||||||
s = unicodedata.normalize('NFKD', s.decode('utf8'))
|
s = unicodedata.normalize('NFKD', s.decode('utf8'))
|
||||||
lines = s.split('\n')
|
lines = s.split('\n')
|
||||||
|
|||||||
119
setup.py
119
setup.py
@@ -10,57 +10,21 @@ import imp
|
|||||||
|
|
||||||
|
|
||||||
version = imp.load_source('version', 'lib/version.py')
|
version = imp.load_source('version', 'lib/version.py')
|
||||||
util = imp.load_source('util', 'lib/util.py')
|
|
||||||
|
|
||||||
if sys.version_info[:3] < (2, 7, 0):
|
if sys.version_info[:3] < (2, 7, 0):
|
||||||
sys.exit("Error: Electrum requires Python version >= 2.7.0...")
|
sys.exit("Error: Electrum requires Python version >= 2.7.0...")
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
if (len(sys.argv) > 1) and (sys.argv[1] == "install"):
|
data_files = []
|
||||||
# or (platform.system() != 'Windows' and platform.system() != 'Darwin'):
|
if platform.system() == 'Linux':
|
||||||
print "Including all files"
|
usr_share = os.path.join(sys.prefix, "share")
|
||||||
data_files = []
|
|
||||||
usr_share = util.usr_share_dir()
|
|
||||||
if not os.access(usr_share, os.W_OK):
|
|
||||||
try:
|
|
||||||
os.mkdir(usr_share)
|
|
||||||
except:
|
|
||||||
sys.exit("Error: cannot write to %s.\nIf you do not have root permissions, you may install Electrum in a virtualenv.\nAlso, please note that you can run Electrum without installing it on your system."%usr_share)
|
|
||||||
|
|
||||||
data_files += [
|
data_files += [
|
||||||
(os.path.join(usr_share, 'applications/'), ['electrum.desktop']),
|
(os.path.join(usr_share, 'applications/'), ['electrum.desktop']),
|
||||||
(os.path.join(usr_share, 'app-install', 'icons/'), ['icons/electrum.png'])
|
(os.path.join(usr_share, 'app-install', 'icons/'), ['icons/electrum.png'])
|
||||||
]
|
]
|
||||||
if not os.path.exists('locale'):
|
|
||||||
os.mkdir('locale')
|
|
||||||
for lang in os.listdir('locale'):
|
|
||||||
if os.path.exists('locale/%s/LC_MESSAGES/electrum.mo' % lang):
|
|
||||||
data_files.append((os.path.join(usr_share, 'locale/%s/LC_MESSAGES' % lang), ['locale/%s/LC_MESSAGES/electrum.mo' % lang]))
|
|
||||||
|
|
||||||
|
|
||||||
appdata_dir = os.path.join(usr_share, "electrum")
|
|
||||||
data_files += [
|
|
||||||
(appdata_dir, ["data/README"]),
|
|
||||||
(os.path.join(appdata_dir, "cleanlook"), [
|
|
||||||
"data/cleanlook/name.cfg",
|
|
||||||
"data/cleanlook/style.css"
|
|
||||||
]),
|
|
||||||
(os.path.join(appdata_dir, "sahara"), [
|
|
||||||
"data/sahara/name.cfg",
|
|
||||||
"data/sahara/style.css"
|
|
||||||
]),
|
|
||||||
(os.path.join(appdata_dir, "dark"), [
|
|
||||||
"data/dark/name.cfg",
|
|
||||||
"data/dark/style.css"
|
|
||||||
])
|
|
||||||
]
|
|
||||||
|
|
||||||
for lang in os.listdir('data/wordlist'):
|
|
||||||
data_files.append((os.path.join(appdata_dir, 'wordlist'), ['data/wordlist/%s' % lang]))
|
|
||||||
else:
|
|
||||||
data_files = []
|
|
||||||
|
|
||||||
setup(
|
setup(
|
||||||
name="Electrum",
|
name="Electrum",
|
||||||
version=version.ELECTRUM_VERSION,
|
version=version.ELECTRUM_VERSION,
|
||||||
@@ -82,70 +46,23 @@ setup(
|
|||||||
'electrum_gui': 'gui',
|
'electrum_gui': 'gui',
|
||||||
'electrum_plugins': 'plugins',
|
'electrum_plugins': 'plugins',
|
||||||
},
|
},
|
||||||
|
packages=['electrum','electrum_gui','electrum_gui.qt','electrum_plugins'],
|
||||||
|
package_data={
|
||||||
|
'electrum': [
|
||||||
|
'wordlist/*.txt',
|
||||||
|
'locale/*/LC_MESSAGES/electrum.mo',
|
||||||
|
],
|
||||||
|
'electrum_gui': [
|
||||||
|
"qt/themes/cleanlook/name.cfg",
|
||||||
|
"qt/themes/cleanlook/style.css",
|
||||||
|
"qt/themes/sahara/name.cfg",
|
||||||
|
"qt/themes/sahara/style.css",
|
||||||
|
"qt/themes/dark/name.cfg",
|
||||||
|
"qt/themes/dark/style.css",
|
||||||
|
]
|
||||||
|
},
|
||||||
scripts=['electrum'],
|
scripts=['electrum'],
|
||||||
data_files=data_files,
|
data_files=data_files,
|
||||||
py_modules=[
|
|
||||||
'electrum.account',
|
|
||||||
'electrum.bitcoin',
|
|
||||||
'electrum.blockchain',
|
|
||||||
'electrum.bmp',
|
|
||||||
'electrum.commands',
|
|
||||||
'electrum.daemon',
|
|
||||||
'electrum.i18n',
|
|
||||||
'electrum.interface',
|
|
||||||
'electrum.mnemonic',
|
|
||||||
'electrum.msqr',
|
|
||||||
'electrum.network',
|
|
||||||
'electrum.network_proxy',
|
|
||||||
'electrum.old_mnemonic',
|
|
||||||
'electrum.paymentrequest',
|
|
||||||
'electrum.paymentrequest_pb2',
|
|
||||||
'electrum.plugins',
|
|
||||||
'electrum.qrscanner',
|
|
||||||
'electrum.simple_config',
|
|
||||||
'electrum.synchronizer',
|
|
||||||
'electrum.transaction',
|
|
||||||
'electrum.util',
|
|
||||||
'electrum.verifier',
|
|
||||||
'electrum.version',
|
|
||||||
'electrum.wallet',
|
|
||||||
'electrum.x509',
|
|
||||||
'electrum_gui.gtk',
|
|
||||||
'electrum_gui.qt.__init__',
|
|
||||||
'electrum_gui.qt.amountedit',
|
|
||||||
'electrum_gui.qt.console',
|
|
||||||
'electrum_gui.qt.history_widget',
|
|
||||||
'electrum_gui.qt.icons_rc',
|
|
||||||
'electrum_gui.qt.installwizard',
|
|
||||||
'electrum_gui.qt.lite_window',
|
|
||||||
'electrum_gui.qt.main_window',
|
|
||||||
'electrum_gui.qt.network_dialog',
|
|
||||||
'electrum_gui.qt.password_dialog',
|
|
||||||
'electrum_gui.qt.paytoedit',
|
|
||||||
'electrum_gui.qt.qrcodewidget',
|
|
||||||
'electrum_gui.qt.qrtextedit',
|
|
||||||
'electrum_gui.qt.qrwindow',
|
|
||||||
'electrum_gui.qt.receiving_widget',
|
|
||||||
'electrum_gui.qt.seed_dialog',
|
|
||||||
'electrum_gui.qt.transaction_dialog',
|
|
||||||
'electrum_gui.qt.util',
|
|
||||||
'electrum_gui.qt.version_getter',
|
|
||||||
'electrum_gui.stdio',
|
|
||||||
'electrum_gui.text',
|
|
||||||
'electrum_plugins.audio_modem',
|
|
||||||
'electrum_plugins.btchipwallet',
|
|
||||||
'electrum_plugins.coinbase_buyback',
|
|
||||||
'electrum_plugins.cosigner_pool',
|
|
||||||
'electrum_plugins.exchange_rate',
|
|
||||||
'electrum_plugins.greenaddress_instant',
|
|
||||||
'electrum_plugins.labels',
|
|
||||||
'electrum_plugins.openalias',
|
|
||||||
'electrum_plugins.plot',
|
|
||||||
'electrum_plugins.trezor',
|
|
||||||
'electrum_plugins.trustedcoin',
|
|
||||||
'electrum_plugins.virtualkeyboard',
|
|
||||||
|
|
||||||
],
|
|
||||||
description="Lightweight Bitcoin Wallet",
|
description="Lightweight Bitcoin Wallet",
|
||||||
author="Thomas Voegtlin",
|
author="Thomas Voegtlin",
|
||||||
author_email="thomasv@electrum.org",
|
author_email="thomasv@electrum.org",
|
||||||
|
|||||||
Reference in New Issue
Block a user