| Left: | ||
| Right: |
| OLD | NEW |
|---|---|
| 1 # coding: utf-8 | 1 # coding: utf-8 |
| 2 | 2 |
| 3 # This file is part of the Adblock Plus web scripts, | 3 # This file is part of the Adblock Plus web scripts, |
| 4 # Copyright (C) 2006-2015 Eyeo GmbH | 4 # Copyright (C) 2006-2015 Eyeo GmbH |
| 5 # | 5 # |
| 6 # Adblock Plus is free software: you can redistribute it and/or modify | 6 # Adblock Plus is free software: you can redistribute it and/or modify |
| 7 # it under the terms of the GNU General Public License version 3 as | 7 # it under the terms of the GNU General Public License version 3 as |
| 8 # published by the Free Software Foundation. | 8 # published by the Free Software Foundation. |
| 9 # | 9 # |
| 10 # Adblock Plus is distributed in the hope that it will be useful, | 10 # Adblock Plus is distributed in the hope that it will be useful, |
| (...skipping 24 matching lines...) Expand all Loading... | |
| 35 default_locale = config.get("general", "defaultlocale") | 35 default_locale = config.get("general", "defaultlocale") |
| 36 default_page = config.get("general", "defaultpage") | 36 default_page = config.get("general", "defaultpage") |
| 37 | 37 |
| 38 checked_page = page | 38 checked_page = page |
| 39 if config.has_option("locale_overrides", page): | 39 if config.has_option("locale_overrides", page): |
| 40 checked_page = config.get("locale_overrides", page) | 40 checked_page = config.get("locale_overrides", page) |
| 41 | 41 |
| 42 if self.has_localizable_file(default_locale, checked_page): | 42 if self.has_localizable_file(default_locale, checked_page): |
| 43 if not self.has_localizable_file(locale, checked_page): | 43 if not self.has_localizable_file(locale, checked_page): |
| 44 locale = default_locale | 44 locale = default_locale |
| 45 elif self.has_locale(default_locale, checked_page): | 45 elif self.has_page(checked_page): |
| 46 if not self.has_locale(locale, checked_page): | 46 if not self.has_locale(locale, checked_page): |
| 47 locale = default_locale | 47 locale = default_locale |
| 48 else: | 48 else: |
| 49 print >>sys.stderr, "Warning: Link to %s cannot be resolved" % page | 49 print >>sys.stderr, "Warning: Link to %s cannot be resolved" % page |
| 50 | 50 |
| 51 if page == default_page: | 51 if page == default_page: |
| 52 page = "" | 52 page = "" |
| 53 | 53 |
| 54 path = "/%s/%s" % (locale, page) | 54 path = "/%s/%s" % (locale, page) |
| 55 return locale, urlparse.urlunparse(parsed[0:2] + (path,) + parsed[3:]) | 55 return locale, urlparse.urlunparse(parsed[0:2] + (path,) + parsed[3:]) |
| (...skipping 11 matching lines...) Expand all Loading... | |
| 67 @staticmethod | 67 @staticmethod |
| 68 def page_filename(page, format): | 68 def page_filename(page, format): |
| 69 return "pages/%s.%s" % (page, format) | 69 return "pages/%s.%s" % (page, format) |
| 70 | 70 |
| 71 def list_pages(self): | 71 def list_pages(self): |
| 72 for filename in self.list_files("pages"): | 72 for filename in self.list_files("pages"): |
| 73 root, ext = os.path.splitext(filename) | 73 root, ext = os.path.splitext(filename) |
| 74 format = ext[1:].lower() | 74 format = ext[1:].lower() |
| 75 yield root, format | 75 yield root, format |
| 76 | 76 |
| 77 def has_page(self, page, format): | 77 def has_page(self, page, format=None): |
| 78 return self.has_file(self.page_filename(page, format)) | 78 if format is None: |
| 79 from .converters import converters | |
|
Sebastian Noack
2015/03/12 20:33:46
From PEP-8: "Relative imports for intra-package im
Wladimir Palant
2015/03/12 20:57:02
Relative imports actually made moving this out of
Sebastian Noack
2015/03/12 21:08:19
Fair enough. I'm looking forward that change. :)
| |
| 80 return any( | |
| 81 self.has_page(page, format) | |
| 82 for format in converters.iterkeys() | |
|
Sebastian Noack
2015/03/12 20:33:46
Nit: Do you know that you can lazily iterate over
Wladimir Palant
2015/03/12 20:57:02
Yes, I know that. However, I prefer to keep things
Sebastian Noack
2015/03/12 21:08:19
So you would also use ..
for (let key of Object.k
Wladimir Palant
2015/03/12 21:15:27
These constructs aren't actually equivalent. Besid
| |
| 83 ) | |
| 84 else: | |
| 85 return self.has_file(self.page_filename(page, format)) | |
| 79 | 86 |
| 80 def read_page(self, page, format): | 87 def read_page(self, page, format): |
| 81 return self.read_file(self.page_filename(page, format)) | 88 return self.read_file(self.page_filename(page, format)) |
| 82 | 89 |
| 83 # | 90 # |
| 84 # Localizable files helpers | 91 # Localizable files helpers |
| 85 # | 92 # |
| 86 | 93 |
| 87 @staticmethod | 94 @staticmethod |
| 88 def localizable_file_filename(locale, filename): | 95 def localizable_file_filename(locale, filename): |
| (...skipping 163 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 252 return | 259 return |
| 253 | 260 |
| 254 for filename in files: | 261 for filename in files: |
| 255 path = os.path.join(dir, filename) | 262 path = os.path.join(dir, filename) |
| 256 if os.path.isfile(path): | 263 if os.path.isfile(path): |
| 257 result.append(relpath + filename) | 264 result.append(relpath + filename) |
| 258 elif os.path.isdir(path): | 265 elif os.path.isdir(path): |
| 259 do_list(path, relpath + filename + "/") | 266 do_list(path, relpath + filename + "/") |
| 260 do_list(self.get_path(subdir), "") | 267 do_list(self.get_path(subdir), "") |
| 261 return result | 268 return result |
| OLD | NEW |