예제 #1
0
파일: post.py 프로젝트: encbladexp/makeblog
 def load(self, filename):
     self.filename = filename
     with open(self.filename) as f:
         parts = Post.json_sep.split(f.read(), maxsplit=2)
     header = json.loads(parts[1])
     self.author = header['author']
     self.title = header['title']
     if 'permalink' in header:
         self.permalink = header['permalink']
     guid = header['guid']
     self.guid = guid if guid.startswith('tag:') else 'urn:uuid:{}'.format(guid)
     if header['categories']:
         self.categories = [category.strip() for category in
                            header['categories'].split(',')]
     self.date = timezone(self.blog.config['blog']['timezone']).\
         localize(datetime.strptime(header['date'],
                                    self.blog.config['blog']['dateformat']))
     self.updated = self.date
     if 'updated' in header:
         self.updated = timezone(self.blog.config['blog']['timezone']).\
             localize(
                 datetime.strptime(header['updated'],
                                   self.blog.config['blog']['dateformat']))
     if not self.permalink:
         self.permalink = '{}/{}/{}'.format(self.blog.config['blog']['url'],
                                            self.date.strftime('%Y/%m/%d'),
                                            slugify(self.title))
     self.slug = header['slug'] if 'slug' in header else slugify(self.title)
     self._content = parts[2]
예제 #2
0
 def load(self, filename):
     self.filename = filename
     with open(self.filename) as f:
         parts = Post.json_sep.split(f.read(), maxsplit=2)
     header = json.loads(parts[1])
     self.author = header['author']
     self.title = header['title']
     if 'permalink' in header:
         self.permalink = header['permalink']
     guid = header['guid']
     self.guid = guid if guid.startswith('tag:') else 'urn:uuid:{}'.format(
         guid)
     if header['categories']:
         self.categories = [
             category.strip()
             for category in header['categories'].split(',')
         ]
     self.date = timezone(self.blog.config['blog']['timezone']).\
         localize(datetime.strptime(header['date'],
                                    self.blog.config['blog']['dateformat']))
     self.updated = self.date
     if 'updated' in header:
         self.updated = timezone(self.blog.config['blog']['timezone']).\
             localize(
                 datetime.strptime(header['updated'],
                                   self.blog.config['blog']['dateformat']))
     if not self.permalink:
         self.permalink = '{}/{}/{}'.format(self.blog.config['blog']['url'],
                                            self.date.strftime('%Y/%m/%d'),
                                            slugify(self.title))
     self.slug = header['slug'] if 'slug' in header else slugify(self.title)
     self._content = parts[2]
예제 #3
0
 def new(self, title, draft=False):
     """
     Create a new Post…
     """
     self.title = title
     self.filename = newfile(slugify(self.title), draft)
     self.guid = str(uuidgen())
     self.author = self.blog.config['blog']['defaultauthor']
     self.categories = self.blog.config['blog']['categories']
     self.updated = self.date
     self.permalink = '{}/{}/{}'.format(self.blog.config['blog']['url'],
                                        self.date.strftime('%Y/%m/%d'),
                                        slugify(self.title))
     self.save()
     return self.filename
예제 #4
0
파일: post.py 프로젝트: encbladexp/makeblog
 def new(self, title, draft=False):
     """
     Create a new Post…
     """
     self.title = title
     self.filename = newfile(slugify(self.title), draft)
     self.guid = str(uuidgen())
     self.author = self.blog.config['blog']['defaultauthor']
     self.categories = self.blog.config['blog']['categories']
     self.updated = self.date
     self.permalink = '{}/{}/{}'.format(self.blog.config['blog']['url'],
                                        self.date.strftime('%Y/%m/%d'),
                                        slugify(self.title))
     self.save()
     return self.filename
예제 #5
0
 def test_slug_exclude(self):
     self.assertEqual(slugify(":"), "")
예제 #6
0
 def test_whitespace(self):
     self.assertEqual(slugify(" "), "-")
예제 #7
0
 def test_umlaute(self):
     self.assertEqual(slugify("ä"), "ae")
     self.assertEqual(slugify("ü"), "ue")
     self.assertEqual(slugify("ö"), "oe")
     self.assertEqual(slugify("ß"), "ss")
예제 #8
0
 def test_simpleslug(self):
     self.assertEqual(slugify("Test"), "test")
예제 #9
0
 def test_slug_exclude(self):
     self.assertEqual(slugify(":"), "")
예제 #10
0
 def test_whitespace(self):
     self.assertEqual(slugify(" "), "-")
예제 #11
0
 def test_umlaute(self):
     self.assertEqual(slugify("ä"), "ae")
     self.assertEqual(slugify("ü"), "ue")
     self.assertEqual(slugify("ö"), "oe")
     self.assertEqual(slugify("ß"), "ss")
예제 #12
0
 def test_simpleslug(self):
     self.assertEqual(slugify("Test"), "test")