Python Daily
2.57K subscribers
1.48K photos
53 videos
2 files
38.9K links
Daily Python News
Question, Tips and Tricks, Best Practices on Python Programming Language
Find more reddit channels over at @r_channels
Download Telegram
Can you test login in shell?

As the question says. My first Django project had so many errors related to the login/authentication by the user that I had to forget about the whole project without being able to fix that which was the most important thing.

Right now, I found an awesome way to test my database/models by using the Shell before even setting up views/urls/templates and I'm so happy by doing it this way(so much relief), but when it comes to authenticating and login a user... I dont know about that. It can be a thing? Testing login/authentication via Shell?

Anyone faced a similar situation? Any help would be appretiate it, thanks for your time also.

/r/djangolearning
https://redd.it/8gwlii
flask-praetorian v0.4 release

I'm proud to announce the release of flask\-praetorian 0.4 today. This version comes with some bug fixes and api hardening. Most significantly, though, some improved documentation and lots of tutorial.

Pull\-requests and issues are very welcome!

[http://flask\-praetorian.readthedocs.io/en/latest/](http://flask-praetorian.readthedocs.io/en/latest/)

/r/flask
https://redd.it/8gs9mf
HELP - I want to build Dropbox or Google Drive clone practice project

Hello I need a help.

I want to develop Dropbox or Google Drive clone practice project.

There will be 3 models I guess: User (Uploader), Folder, File

Now what will be the relation between File and Folder to mimic many number of child folder depth?

For example, I want to implement this kind of url pattern in django:

/<parent_folder>/<next_folder_1>/<next_folder_2>/<next_folder_n>/files/

As you can see, the folders are not imaginable, user may go further into folder structure as their wish. It can be 5 folders or 3 folders or any number of folders. Each folder will have their corresponding files. Very much like dropbox or google drive. And how to visualize the parent child file/folder hierarchy in template?

Now how do I define this unknown number of folder depth pattern in django with one url pattern? So that, whatever folder a user go, the view will return files for this folder. The reference of this will be Dropbox and Google drive

Thanks in advance

/r/django
https://redd.it/8gtois
Undeclared variable with "dictionary" syntax does not throw exception

I spent the last half hour debugging my script where I typed ":" instead of "=" when trying to update a variable.

So why does

a: "10"

not throw an exception? Even when ``a`` is not defined prior to this?

/r/Python
https://redd.it/8gx5dc
Crypto trading bot think-tank: what indicators do you use?

I've been working on a python based trading bot using the GDAX api and have come pretty far. My ideas are working well, but still in the baby stages of testing. This thread is simply to see if there are others who are doing this who would like to pool statistics and indicator techniques.

I'm not talking so much about sharing our entire scripts but discussing what styles of analysis you have found useful, if any?

/r/pystats
https://redd.it/8h085p
[AF] How to properly test view functions?

So I have this view function:

@app.route('/submit', methods=['GET', 'POST'])
@login_required
def submit():
"""View function for the submit site, which contains a standard
form. Creates initial variables for mutable variables like
upvotes, downvotes and importance, to avoid any TypeErrors."""
form = SubmitForm()
if form.validate_on_submit():
post = Post(title=form.title.data, text=form.text.data, user_id=current_user.id, topics=[Topic(tag_name=form.topics.data)])
post.upvotes = 1
post.downvotes = 0
post.importance = 1
post.score = post.get_score()
db.session.add(post)
db.session.commit()

flash('You have now made a post!')
return redirect(url_for('index'))
return render_template('submit.html', title='Submit', form=form)

How would I properly test this works?

The testing function I'm using is this:

def test_submit(self):
"""Tests to see whether the /submit route will work"""
self.post = Post(title="Title", text="Text", user_id=1, topics=[Topic(tag_name="topic1"), Topic(tag_name="topic2")])
self.post.upvotes = 1
self.post.downvotes = 0
self.post.importance = 1
self.post.score = self.post.get_score()
db.session.add(self.post)
db.session.commit()
self.assertTrue(Post.query.filter_by(text="Text").first())
self.assertFalse(Post.query.filter_by(text="Not me").first())

I know this isn't the proper way of doing things, so how should I do it?

Here is the rest of my testing file, if needed:

https://github.com/ModoUnreal/dopenet/blob/master/tests/test_posts.py

/r/flask
https://redd.it/8h19nu
[AF] How do I send data route to route, in order to maintain a dynamic form?

This question is probably not asked correctly. I'll try to explain better below. I am also new to python and flask.

I am creating a flask web interface for a simple inventory system we have. I'm trying to have the following interaction:

USER: <Inputs part number into appropriate field>
SERVER: <Checks to see if on file>

if on file

SERVER: "Place bin on scale."
USER: <Places bin on scale>
*SCALE: <Weighs item and sends value to server>

*My issue

Here is my issue: the scale data sent is not within scope of the "inventory" route. Is there a better way to go about this?

**My Direction:**

I want the user to have the form readily available for another form input if necessary. I also want to print the new data with some data pulled from the database after the item is weighed.

**app/routes.py**

from flask import render_template, flash, redirect, url_for, request, jsonify
from app import app, db
from app.forms import LoginForm, RegistrationForm, PrintLabelForm, \
InventoryForm1, InventoryForm2
from flask_login import current_user, login_user, logout_user, login_required
from app.models import *
import scale as s

@app.route('/inventory', methods=['GET', 'POST'])
@login_required
def inventory():
form = InventoryForm1()
# if form.validate_on_submit(): # Checks form submission syntax validity
if "submit" in request.form: # Checks form submission syntax validity
item = Items.query.filter_by(ItemCode=form.itemCode.data).first()
measurement = Measurements.query.filter_by(partNumber=form.itemCode.data).first()

# Checks if part number field is correct
if item is None: # No input for the field
flash('Item not on file.')
return redirect(url_for('inventory'))
elif measurement is None: # No current measurements available
flash('No previous measurements found for, ' + item.ItemCodeDesc + '.')
flash('Place empty container on scale.')
# while container is not containerChange and keyboardIdle:
# await item data input
else: # Generate Item Report
flash('Place bin on scale.')
# User clicks "Weigh Item"

return render_template('inventory.html', title='Inventory', form=form)

@app.route('/weighItem', methods=['GET', 'POST'])
@login_required
def weighItem():
weight = s.runScale("getWeight", 0)
return jsonify(weight=weight)

**app/templates/base.html**

<script>
function weighItem() {
$.post('/weighItem', {
}).done(function(response) {
$("#result").text(response.weight);
alert(response.weight);
}).fail(function() {
$.text("Error: Could not contact server.");
});
}
</script>

**app/templates/inventory.html**

{% extends "base.html" %}
{% import 'bootstrap/wtf.html' as wtf %}

{% block app_content %}
<h1>Inventory</h1>
<div class="row">
<div class="col-md-4">
{{ wtf.quick_form(form) }}
<a href="javascript:weighItem()" id="weighItem">Weigh Item</a>
<p id="result"> </p>
</div>
</div>
{% endblock %}



**Some Notes:**

I am using the [https://github.com/tatobari/hx711py](https://github.com/tatobari/hx711py) for a scale.

/r/flask
https://redd.it/8h0ur9
django-bootstrap-datepicker-plus: Django Widget for bootstrap-datepicker for Django version 1.8, 1.10, 1.11 and 2.0.4.

I have published a date\-picker widget [django\-bootstrap\-datepicker\-plus](https://github.com/monim67/django-bootstrap-datepicker-plus) for `django` to support latest version keeping backward compatibility up to`djang`o version 1.8. Please let me know what you think of it. Any suggestion is highly appreciated and is what I am looking for.

/r/django
https://redd.it/8gza32
Storing millions and billions of URLs?

Hello Everyone!

Currently, using ElasticSearch for storing the meta data and other raw data information but it is a very small scale around 500,000 domains.

I have been tasked to scale it to 20-40 million domains and storing their internal/external links while building a page rank/domain authority score for each domain which we are adding to our database.

What do you guys suggest/recommend for storing this data at a very large scale as web page internal links/external links will be stored which will lead it over 100M-1B links database?

Any kind of feedback/suggestion would be appreciated.

Thanks.

/r/Python
https://redd.it/8h293k
How to make the transition from "python scripter" to "python software developer"?

Hello there. I recently got hired as software developer for some of the skills that I have, but none of those is actually being a good software developer. I'm writing Python code 5+ years now, but never really exposed my code to being reviewed, tested or criticized. The people I work with have not only more experience but their background also entails software development. I try to learn as much as possible from them when I read their Python code, but I want to get on a higher level in terms of coding quality as soon as possible.

Can you give me any tips how I can get there? Whether it is good article, book or a DOs and DONTs cheat-sheet, I don't know, but whatever it is I would appreciate some tips!

/r/Python
https://redd.it/8h2u16
Does anyone know a django app to handle Feature Requests?

I'm looking for something similar to [gog's Community Wishlist](https://www.gog.com/wishlist): users can submit requests for new features and the like, and other users can vote in which features they want the most.

Comments in each request would be appreciated, but aren't necessary.



/r/django
https://redd.it/8h38rj
Numpy FFT lots slower than Octave FFT?

After trying Octave and missing Python's features, I've been back to Python / Numpy. But now it's looking like Numpy is significantly slower? Here's the test. Python, about 10 seconds:

import numpy
numpy.fft.fft(numpy.ones(31257584))

Octave, about one second:

sum(fft(ones(1, 31257584)))

I'd rather use Python, but don't have time to wait for it.

/r/Python
https://redd.it/8h23xs
Just finished my graduation cap for tomorrow

/r/Python
https://redd.it/8h512c
flask restfull handle incorrect urls

I am using the Flask_restful package and I have a question. I have some paths like: /api/users/<int:id>/recepies. Everything works fine until you request this url without the id, like this: /api/users//recepies or /api/users/recepies, then it throws an error. Is there a way to catch this kind of errors?

/r/flask
https://redd.it/8gsqiz
migrating from sqlserver to postgres, issue with sqlserver_ado.fields.BigAutoField

I am trying to change our django from using M/S SQL server to postgres. One of the model fields is defined in the initial migration as sqlserver_ado.fields.BigAutoField(serialize=False, primary_key=True). After changing the database engine to postgres, the field is missing in the postgres database. If I try to migrate it to something like models.BigIntegerField(serialize=False, primary_key=True), I get the error "ValueError: Cannot alter field verosgui.MpWatchlistchange.chan_coun into verosgui.MpWatchlistchange.chan_coun - they do not properly define db_type (are you using PostGIS 1.5 or badly-written custom fields?)". Does anyone know how to migrate this field?

/r/django
https://redd.it/8h2q5c
How to run a task after flask server starts?

Hey guys, I'm trying to run my flask site in a pyqt5 GUI interface however after app.run(), all functions afterward are ignored until I close the server. This results in me getting a 404 from the PyQT interface. Anyone know how to run the flask server and allow a function to run after it? If it is possible, it would actually be better if I could run them at the same time. Thanks guys



**EDIT**: solved this actually
did the following

def pyqt_function():
#thing to be done by pyqt
t = threading.Thread(target=pyqt_function)
t.daemon = True
t.start()
app.run()


/r/flask
https://redd.it/8gs9zq