fnp
/
turniej.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
vhost static fix
[turniej.git]
/
apps
/
poetry
/
models.py
diff --git
a/apps/poetry/models.py
b/apps/poetry/models.py
index
39f3e05
..
ef8bf94
100644
(file)
--- a/
apps/poetry/models.py
+++ b/
apps/poetry/models.py
@@
-3,6
+3,7
@@
import os
import subprocess
from django.db import models
from django.core.urlresolvers import reverse
import subprocess
from django.db import models
from django.core.urlresolvers import reverse
+from django.conf import settings
from poetry.utils import get_hash
from poetry.utils import get_hash
@@
-25,9
+26,11
@@
class Poet(models.Model):
def write(self):
curdir = os.getcwd()
os.chdir(os.path.dirname(self.path))
def write(self):
curdir = os.getcwd()
os.chdir(os.path.dirname(self.path))
- text = subprocess.check_output(self.path).decode("utf-8")
+ proc = subprocess.Popen(self.path,
+ stdout=subprocess.PIPE, stderr=subprocess.PIPE)
os.chdir(curdir)
os.chdir(curdir)
- text = text[:1000]
+ stdout, stderr = proc.communicate()
+ text = unicode(stdout, "utf-8", errors="ignore")[:1000]
slug = get_hash(text)
title = ''
if self.first_line_title:
slug = get_hash(text)
title = ''
if self.first_line_title:
@@
-42,6
+45,14
@@
class Poet(models.Model):
)
return poem
)
return poem
+ def make_for_contest(self):
+ assert not self.poem_set.filter(for_contest=True).exists()
+ for i in range(settings.POETRY_POEMS_FOR_CONTEST):
+ p = self.write()
+ p.for_contest = True
+ p.save()
+ return self.poem_set.filter(for_contest=True)
+
class Poem(models.Model):
slug = models.SlugField(max_length=50, db_index=True)
class Poem(models.Model):
slug = models.SlugField(max_length=50, db_index=True)