In Flask-Admin, you can override the "on_model_change" function to to automatically populate a "modified_by" field in your model.
def on_model_change(self, form, model):
model.user_id = g.user.id
admin = Admin(app)
admin.add_view(LocationView(Location, db.session, name="Locations"))
- Because it's easy: https://github.com/fogleman/HelloFlask
Those do a lot of the work of starting a new Flask project for you.
With cookiecutter flask, all you need to do to build a new project is: cookiecutter https://github.com/sloria/cookiecutter-flask.git
As a warning, cookiecutter flask and overholt include a lot of stuff. I ended up not using it because it was too much work to change everything to work with oAuth.
I created an app that allows you to upload a pdf and it returns a copy of your PDF with the page order reversed. The code is here: https://github.com/pawl/pdfreverse
Initially when I googled how to do this in Adobe Acrobat, the first few results had fairly complicated solutions. After I made the app, I ended up finding an easier way to do it in Adobe (in the 6th from the top Google result on “reverse pdf order acrobat”…):
Oh well, it was a fun project.
While tested out Discourse, I only found a few negative things:
- To make it act like a mailing list, it currently requires each user to change settings on their account: https://github.com/discourse/discourse/blob/master/docs/MAILING-LIST-SETUP.md#suggested-user-preferences
I commented on a thread about a new feature that allows setting defaults for this: https://meta.discourse.org/t/default-email-settings-for-a-new-user/14980
- It doesn’t allow setting defaults for which categories the user has “Watched”. For example, I would want to default the “General” list to “Watched”, but more obscure lists would only be watched if the user chooses to.
- It uses a different e-mail address for each e-mail it sends you (this is to keep track of which thread it belongs to), here’s an example of a “From” address: email@example.com
Google Groups always has the same to/from e-mail address and magically figures this out. This might be weird in some peoples’ email clients.
As a forum, this beats the crap out of PhpBB, but as a mailing list it’s not a clear winner over Google Groups yet. It’s open source, has a better web interface, and the “Categories” are a cool feature for keeping all the lists in the same place. But, the “email in” functionality was too recently implemented, and it might take a few months before it’s as polished as Google Groups.
It’s going to be a very tempting replacement if they add default settings for user preferences.
DBAPIError: (Error) ('IM002', '[IM002] [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified (0) (SQLDriverConnect)') None None
import pyodbc, sqlalchemy
return pyodbc.connect('DSN=<dsn name>;UID=<username>;PWD=<password>')
srcEngine = sqlalchemy.create_engine('sybase+pyodbc://', creator=connect, echo=True)
This issue was occurring because my kernel was refusing to upgrade, because I was on a VPS. (you need to get your VPS provider to upgrade it for you)
Run uname -r, if it returns something like this: "2.6.32-042stab084.20" That's probably the reason why docker isn't starting. Your kernel isn't compatible.
If you're not on a VPS and can upgrade your kernel, try instructions on this page: http://docs.docker.io.s3-website-us-west-2.amazonaws.com/installation/ubuntulinux/
/usr/sbin/grub-probe: error: cannot find a device for / (is /dev mounted?).
run-parts: /etc/kernel/postrm.d/zz-update-grub exited with return code 1
Failed to process /etc/kernel/postrm.d at /var/lib/dpkg/info/linux-image-3.8.0-34-generic.postrm line 328.
dpkg: error processing linux-image-3.8.0-34-generic (--remove):
subprocess installed post-removal script returned error exit status 1
Errors were encountered while processing:
E: Sub-process /usr/bin/dpkg returned an error code (1)
- Find out the owner of your apache process (usually www-data).
- Look at the top of the "Automation Settings" page in your WHMCS admin area. It should say something like: php -q /var/www/whmcs/admin/cron.php (keep this handy for step 4)
- In terminal run: crontab -e -u www-data
- Ensure you have a line that says:
0 6 * * * php -q /var/www/whmcs/admin/cron.php (note: this should be the same file path you got for your own install in step 2)
This seems to only be an issue with CherryPy 3.3.0, I switched back to CherryPy 3.2.3 and it worked again.
I noted it on their bitbucket issue here: https://bitbucket.org/cherrypy/cherrypy/issue/1298/ssl-not-working