aboutsummaryrefslogtreecommitdiffstats
path: root/nikola/plugins/command_bootswatch_theme.py
diff options
context:
space:
mode:
authorLibravatarAgustin Henze <tin@sluc.org.ar>2013-01-02 08:35:03 -0300
committerLibravatarAgustin Henze <tin@sluc.org.ar>2013-01-02 08:35:03 -0300
commit9c5708cc92af894e414bc76ee35ec2230de5d288 (patch)
tree61bd56b5517a4713626c254981143e008c719469 /nikola/plugins/command_bootswatch_theme.py
parent0f2c04e70a0ffdd0892d6970cafbcd952d221db5 (diff)
Imported Upstream version 5.1upstream/5.1
Diffstat (limited to 'nikola/plugins/command_bootswatch_theme.py')
-rw-r--r--nikola/plugins/command_bootswatch_theme.py47
1 files changed, 39 insertions, 8 deletions
diff --git a/nikola/plugins/command_bootswatch_theme.py b/nikola/plugins/command_bootswatch_theme.py
index f077eb1..185717f 100644
--- a/nikola/plugins/command_bootswatch_theme.py
+++ b/nikola/plugins/command_bootswatch_theme.py
@@ -1,6 +1,35 @@
+# Copyright (c) 2012 Roberto Alsina y otros.
+
+# Permission is hereby granted, free of charge, to any
+# person obtaining a copy of this software and associated
+# documentation files (the "Software"), to deal in the
+# Software without restriction, including without limitation
+# the rights to use, copy, modify, merge, publish,
+# distribute, sublicense, and/or sell copies of the
+# Software, and to permit persons to whom the Software is
+# furnished to do so, subject to the following conditions:
+#
+# The above copyright notice and this permission notice
+# shall be included in all copies or substantial portions of
+# the Software.
+#
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY
+# KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
+# WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
+# PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS
+# OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR
+# OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
+# OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
+# SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+from __future__ import print_function
from optparse import OptionParser
import os
-import urllib2
+
+try:
+ import requests
+except ImportError:
+ requests = None
from nikola.plugin_categories import Command
@@ -12,7 +41,9 @@ class CommandBootswatchTheme(Command):
def run(self, *args):
"""Given a swatch name and a parent theme, creates a custom theme."""
-
+ if requests is None:
+ print('To use the install_theme command, you need to install the "requests" package.')
+ return
parser = OptionParser(usage="nikola %s [options]" % self.name)
parser.add_option("-n", "--name", dest="name",
help="New theme name (default: custom)", default='custom')
@@ -27,21 +58,21 @@ class CommandBootswatchTheme(Command):
swatch = options.swatch
parent = options.parent
- print "Creating '%s' theme from '%s' and '%s'" % (
- name, swatch, parent)
+ print("Creating '%s' theme from '%s' and '%s'" % (
+ name, swatch, parent))
try:
os.makedirs(os.path.join('themes', name, 'assets', 'css'))
except:
pass
for fname in ('bootstrap.min.css', 'bootstrap.css'):
url = 'http://bootswatch.com/%s/%s' % (swatch, fname)
- print "Downloading: ", url
- data = urllib2.urlopen(url).read()
+ print("Downloading: ", url)
+ data = requests.get(url).text
with open(os.path.join(
'themes', name, 'assets', 'css', fname), 'wb+') as output:
output.write(data)
with open(os.path.join('themes', name, 'parent'), 'wb+') as output:
output.write(parent)
- print 'Theme created. Change the THEME setting to "%s" to use it.'\
- % name
+ print('Theme created. Change the THEME setting to "%s" to use it.'
+ % name)