コード例 #1
0
    def test_entry_suggestion(self):
        suggestions = Entry.get_suggestions(self.users[0], keyword="apple")
        self.assertEqual(len(suggestions), 1)

        Entry.objects.create(user=self.users[0],
                             category="fc",
                             what="apple pie",
                             when=timezone.make_aware(
                                 arrow.utcnow().replace(hours=-1).naive),
                             measure="skin",
                             quantity=6,
                             extra=json.dumps({"ndbno": "11362"}))

        Entry.objects.create(user=self.users[1],
                             category="fc",
                             what="apple pie",
                             when=timezone.make_aware(
                                 arrow.utcnow().replace(hours=-1).naive),
                             measure="skin",
                             quantity=6,
                             extra=json.dumps({"ndbno": "11362"}))

        suggestions = Entry.get_suggestions(user=self.users[0],
                                            keyword="apple")
        self.assertEqual(len(suggestions), 2)
コード例 #2
0
    def handle(self, *args, **options):
      Entry.build_all_from_mbox_file(
          options['data_file'],
          options['from_email_address'],
      )


      file_path = os.path.join(os.getcwd(), 'entries', 'static', 'moods.json')
      Entry.write_series_to_file(file_path)
コード例 #3
0
 def setUp(self):
     self.user = User.objects.create(username="******")
     self.anon = AnonymousUser()
     self.entries = Entry.objects.bulk_create([
         Entry(content="entry1", posted_by=self.user),
         Entry(content="entry2", posted_by=self.user),
         Entry(content="entry3", posted_by=self.user),
     ])
     self.schema = Schema(query=Query)
     self.client = Client(self.schema)
コード例 #4
0
ファイル: views.py プロジェクト: density215/d215-miniblog
def create(request):
    """
    New entry is created when this view is called.
    Dummy placeholder headline and body can be configured here.
    """
    newentry = Entry(
        headline='<span class="dummy">[Your headline here]</span>',
        body='<span class="dummy">[Your entry goes here]</span>',
        author=request.user,
    )
    try:
        newentry.save()
    except IntegrityError:
        return HttpResponse("error")

    return HttpResponseRedirect(reverse("entries.views.admin"))
コード例 #5
0
def create_recipes(categories):
    # List of recipes
    recipes = []

    # For each category create 2 pages
    for i in range (0, len(categories)):
        category = categories[i]

        # Name the pages according to the links and create a fake url
        for j in range(0, 2):
            entry_number = i * 2 + j + 1
            entry = Entry(category=category, title="Entry " + str(entry_number),
                        url="http://www.entry" + str(entry_number) + ".com", views=entry_number)
            entry.save()
            entries.append(recipe)

    return pages
コード例 #6
0
 def setUp(self):
     self.maxDiff = None
     self.user1 = User.objects.create(username="******")
     self.user2 = User.objects.create(username="******")
     self.anon = AnonymousUser()
     self.entries = Entry.objects.bulk_create([
         Entry(content=content, posted_by=posted_by)
         for content, posted_by in product(['entry1', 'entry2', 'entry3'],
                                           [self.user1, self.user2])
     ])
     self.schema = Schema(query=Query)
     self.client = Client(self.schema)
コード例 #7
0
def create():
    if request.method == 'POST':
        form = EntryForm(request.form)
        if form.validate():
            entry = form.save_entry(Entry(author=g.user))
            with db.session.no_autoflush:
                if db.session.query(exists().where(Entry.slug == entry.slug)).scalar():
                    flash('Error create Entry "%s". already exists slug' % entry.title, 'danger')
                    return redirect(url_for('entries.create', entry=entry))
                else:
                    db.session.add(entry)
                    db.session.commit()
                    return redirect(url_for('entries.detail', slug=entry.slug))
    else:
        form = EntryForm()
    return render_template('entries/create.html', form=form)
コード例 #8
0
    def test_entry_suggestion_order(self):
        Entry.objects.create(user=self.users[0],
                             category="fc",
                             what="apple pie",
                             when=timezone.make_aware(arrow.utcnow().naive),
                             measure="slice",
                             quantity=6,
                             extra=json.dumps({"ndbno": 22}))
        Entry.objects.create(user=self.users[0],
                             category="fc",
                             what="old apple pie",
                             when=timezone.make_aware(
                                 arrow.utcnow().replace(days=-10).naive),
                             measure="slice",
                             quantity=6,
                             extra=json.dumps({"ndbno": 22}))

        suggestions = Entry.get_suggestions(user=self.users[0],
                                            keyword="apple")
        self.assertEqual(len(suggestions), 3)
        self.assertEqual(suggestions[0]["name"], "apple pie")
        self.assertEqual(suggestions[2]["name"], "old apple pie")
コード例 #9
0
    def post(self, request, *args, **kwargs):

        result = self._default_context()
        result.update({'success': True, 'submitted': True})

        columns_sorted = [col[0] for col in COLUMNS]
        columns_sorted.sort()
        header = None
        rows = []

        file = request.FILES.get('file')

        if not file:
            result.update({
                'success': False,
                'messages': ['Please upload a .csv file']
            })
            return render(request, 'entries/import.html', result)

        try:
            reader = csv.reader(file)
            for i, row in enumerate(reader):
                # capture the header row
                if i == 0:
                    header = list(row)
                    header_sorted = list(header)
                    header_sorted.sort()
                    continue
                else:
                    rows.append(row)
        except:
            result.update({
                'success': False,
                'messages': ['Please upload a valid .csv file']
            })
            return render(request, 'entries/import.html', result)

        # column headers aren't as expected
        if cmp(header_sorted, columns_sorted) != 0:
            result.update({
                'success':
                False,
                'submitted':
                True,
                'messages': [
                    'Got incorrect columns: %s' % (','.join(header)),
                    'Expecting columns %s' % (','.join(columns_sorted)),
                ]
            })

        else:
            bad_rows = []
            imported_rows = []
            for i, row in enumerate(rows):
                auditor = row[header.index('auditor')]
                survey_name = row[header.index('survey')]
                route = row[header.index('route')]
                starting_address = row[header.index('starting_address')]
                ending_address = row[header.index('ending_address')]

                try:
                    user = User.objects.get(username=auditor)
                except User.DoesNotExist:
                    bad_rows.append(
                        'row %s: username "%s" does not exist in the system (%s)'
                        % (i + 2, auditor, ', '.join(row)))
                    continue
                try:
                    survey = Survey.objects.get(version=survey_name)
                except Survey.DoesNotExist:
                    bad_rows.append(
                        'row %s: survey version "%s" does not exist in the system (%s)'
                        % (i + 2, survey_name, ', '.join(row)))
                    continue

                Entry(
                    auditor=user,
                    survey=survey,
                    starting_address=starting_address
                    if starting_address else None,
                    ending_address=ending_address if ending_address else None,
                    route_number=route,
                    start_time=None,
                    end_time=None,
                    submitted=None,
                ).save()

                imported_rows.append(row)

            result.update({'imported_rows': imported_rows})
            result.update({'bad_rows': bad_rows})

        return render(request, 'entries/import.html', result)
コード例 #10
0
def create(request):
    entry = Entry(title=request.POST['title'], body=request.POST['body'])
    entry.save()

    return HttpResponseRedirect(reverse("show", args=(entry.id,)))
コード例 #11
0
def new(request):
    entry = Entry()
    form = EntryForm()
    context = { 'entry': entry, 'title': 'エントリー新規作成', 'form': form }
    return render(request, 'entries/new.html', context)
コード例 #12
0
ファイル: tests.py プロジェクト: emanuelwanyonyi/my_diary
 def test_string_representation(self):
     entry = Entry(title="My entry title")
     self.assertEqual(str(entry), entry.title)
コード例 #13
0
import csv
from entries.models import Entry

with open('friends.csv', mode='r') as csv_file:
    csv_reader = csv.DictReader(csv_file)
    line_count = 0
    for row in csv_reader:
        a = Entry()
        a.name = row["name"]
        a.user_id = int(row["user_id"])
        a.latitude = float(row["latitude"])
        a.longitude = float(row["longitude"])
        a.save()
コード例 #14
0
 def test_pre_save_password_encryption(self):
     entry = Entry(**self.initial_data)
     self.assertEqual(entry.password, 'password')
     entry.save()
     self.assertEqual(entry.password, 'EgBSBcfow6xrX4xB47i+PQ==')
コード例 #15
0
 def test_string_representation(self):
     entry = Entry(**self.initial_data)
     self.assertEqual(str(entry),
                      '{0[name]} ({0[url]})'.format(self.initial_data))