Link aggregator community organised by tags in python3/django3 + sqlite3.

Overview

sic

Link aggregator community organised by tags in python3/django3 + sqlite3.

Public instance at https://sic.pm and Tor hidden service.

Follow the [sic] bot on Mastodon: https://botsin.space/@sic

1 2

Setup:

cp sic/local/secret_settings.py{.template,}
vim sic/local/secret_settings.py # add secret token
vim sic/local/settings_local.py # OPTIONAL: local settings (SMTP etc)
python3 manage.py migrate #sets up database
sqlite3 sic.dib < sic.db-dummy_data.sql # OPTIONAL insert dummy data
python3 manage.py createsuperuser #selfexplanatory
python3 manage.py runserver # run at 127.0.0.1:8000
python3 manage.py runserver 8001 # run at 127.0.0.1:8001
python3 manage.py runserver 0.0.0.0:8000 # run at public-ip:8000

See DEPLOY.md for deployment instructions.

Code style

See CODE_STYLE.md.

Comments
  • Http and gemini content fetching

    Http and gemini content fetching

    fetch_remote_content tool now can get http and gemini content.

    With these changes fetch_remote_content command naively parses url schema and either fetches http and gemini content or returns an error.

    I'm not sure about the required python changes in here https://github.com/epilys/sic/blob/ed0c162a5700d5e41cf66258356c9d8f2d8b8446/sic/jobs.py#L33

    @epilys could you take a look at this branch and verify that nothing is broken?

    opened by klvebunc 5
  • Can't access the site due to DNS

    Can't access the site due to DNS

    sic's nameserver, hosted by njal.la apparently has some issues with AFNIC the french TLD registrar (.fr/.re etc) which also manages .pm domains. It's been 5-6 days at the time of writing and still no resolution.

    opened by epilys 2
  • Extend max comment length

    Extend max comment length

    Right now it looks like comments are limited to 500 characters in length. Some restriction is good for the database and making sure users don't write their novel inline. But I ran into the 500 character limit super quickly when trying to reply to a post.

    It looks like in the Lobsters rails schema the db field used is a MySQL medium text which would mean there's a limit of 16,777,215 bytes. A 16+ megabyte comment is pretty excessive. I looked through the code and couldn't find any other restrictions on it, though it wouldn't surprise me if I missed something.

    If left up to me I'd make the limit 2,000 characters (or really 2,048 because I'm a nerd), since I'd want to encourage more indepth discussion. But figured I'd raise this issue here for discussion. There might be downsides to inlining values that large into sqlite but probably not for a while?

    opened by badtuple 1
  • Add export and import commands for manage.py

    Add export and import commands for manage.py

    This PR adds a setup.py and a corresponding .gitignore entry to make pip install -e . work. Having that reduces the amount of noise from pylint for me.

    It also adds two new commands to manage.py: dump_site and populate_site.

    dump_site writes users, stories, tags to JSON and populate_site restores them. This should be a little more resilient to local differences and schema additions than the sql dump has been.

    opened by geoffbeier 1
  • Auto-fetch URL title upon story submit form request if title field is empty

    Auto-fetch URL title upon story submit form request if title field is empty

    If title field in the submit form is empty, auto fill it with url title upon form submission.

    example screenshots

    Screen Shot 2021-07-15 at 10 02 45

    Screen Shot 2021-07-15 at 10 04 13

    location in codebase

    Submitting a story is handled in this view:

    https://github.com/epilys/sic/blob/4ca05eea446d01da79288ef90c4270ac06268396/sic/views/init.py#L206-L215

    problems

    • Field is "required" in HTML, the html attribute must go and instead have the title presence validated in the server response.
    • Need to timeout properly when attempting to fetch a title so as not to slow down server.
    opened by epilys 0
  • Add requirements.txt + some local settings to make my dev environment easier

    Add requirements.txt + some local settings to make my dev environment easier

    I’m messing with this from a tablet, so I’ve made a couple changes that make life easier for all that entails:

    1. add a requirements.txt to make it easy to spin up a short-lived venv
    2. add local_settings.py so I can easily set ALLOWED_HOSTS without putting them in source controlled files… tablet can’t really run a local dev server
    3. Ignore .vscode directory because that’s the only sane way to do anything on this tablet, without an ESC key.
    4. Ignore dev instance SQLite database because I’ve almost accidentally committed it thanks to stupid vscode’s over-aggressive attempts to add it.
    opened by geoffbeier 0
  • Move to to [tade] codebase

    Move to to [tade] codebase

    Right now, this repository is being developed on and https://github.com/epilys/tade is getting the new commits by rebase. The site instance should move to the [tade] codebase by creating a new django site that uses tade as a django app.

    opened by epilys 0
  • Implement

    Implement "suggest tag" feature

    Enable users to suggest tags for stories they didn't post, and automatically set the tags somehow

    User should have a minimum standing in order to be able to suggest tags.

    Perhaps there could also be a hidden "suggestion" score that indicates how often a user's tags suggestions are accepted by moderators or story posters and use the score in order to automatically set tags.

    opened by epilys 0
Owner
Manos Pitsidianakis
Electrical and Computer Engineering
Manos Pitsidianakis
tade is a discussion/forum/link aggregator application. It provides three interfaces: a regular web page, a mailing list bridge and an NNTP server

tade is a discussion/forum/link aggregator application. It provides three interfaces: a regular web page, a mailing list bridge and an NNTP server

Manos Pitsidianakis 23 Nov 4, 2022
document organizer with tags and full-text-search, in a simple and clean sqlite3 schema

document organizer with tags and full-text-search, in a simple and clean sqlite3 schema

Manos Pitsidianakis 152 Oct 29, 2022
AWS Tags As A Database is a Python library using AWS Tags as a Key-Value database.

AWS Tags As A Database is a Python library using AWS Tags as a Key-Value database. This database is completely free* ??

Oren Leung 42 Nov 25, 2022
Ultimate Django3.2 Template for starting any project from not zero!

Ultimate Django3.2 Template for starting any project from not zero!

TheAliBigdeli 37 Dec 20, 2022
Django3 web app that renders OpenWeather API data ☁️☁️

nz-weather For a live build, visit - https://brandonru.pythonanywhere.com/ NZ Openweather API data rendered using Django3 and requests ☀️ Local Run In

Brandon Ru 1 Oct 17, 2021
Code for the Higgs Boson Machine Learning Challenge organised by CERN & EPFL

A method to solve the Higgs boson challenge using Least Squares - Novae This project is the Project 1 of EPFL CS-433 Machine Learning. The project is

Giacomo Orsi 1 Nov 9, 2021
Ulaavi for nuke, helps to keep our stocl elements organised.

Ulaavi Ulaavi for nuke, helps to keep our stock elements organised. Installation Downlaod ffmpeg from ffmpeg.org linux : https://johnvansickle.com/ffm

Arun Subramaniyam 17 Aug 24, 2022
Implementation of our paper 'RESA: Recurrent Feature-Shift Aggregator for Lane Detection' in AAAI2021.

RESA PyTorch implementation of the paper "RESA: Recurrent Feature-Shift Aggregator for Lane Detection". Our paper has been accepted by AAAI2021. Intro

null 137 Jan 2, 2023
Mmr image postbot - Бот для создания изображений с новыми релизами в сообщество ВК MMR Aggregator

Mmr image postbot - Бот для создания изображений с новыми релизами в сообщество ВК MMR Aggregator

Max 3 Jan 7, 2022
The community bot for the Python Discord community

Python Utility Bot This project is a Discord bot specifically for use with the Python Discord server. It provides numerous utilities and other tools t

Python Discord 998 Jan 3, 2023
Pdisk Link Converter Telegram Bot, Convert link in a single click

Pdisk Converter Bot Make short link by using Pdisk API key Installation The Easy Way Required Variables BOT_TOKEN: Create a bot using @BotFather, and

Ayush Kumar Jaiswal 6 Jul 28, 2022
Python collections that are backended by sqlite3 DB and are compatible with the built-in collections

sqlitecollections Python collections that are backended by sqlite3 DB and are compatible with the built-in collections Installation $ pip install git+

Takeshi OSOEKAWA 11 Feb 3, 2022
Youtube Kanalinda tanittigim ve Programladigim SQLite3 ile calisan Kütüphane Programi

SQLite3 Kütüphane Uygulamasi SQLite3 ile calisan Kütüphane Arayüzü Yükleme Yerel veritabani olusacaktir. Yaptiginiz islemler kaybolmaz! Temel Gereksin

Mikael Pikulski 6 Aug 13, 2022
Simple to use image handler for python sqlite3.

SQLite Image Handler Simple to use image handler for python sqlite3. Functions Function Name Parameters Returns init databasePath : str tableName : st

Mustafa Ozan Çetin 7 Sep 16, 2022
Site de gestion de cave à vin utilisant une BDD manipulée avec SQLite3 via Python

cave-vin Site de gestion de cave à vin utilisant une bdd manipulée avec MySQL ACCEDER AU SITE : Pour accéder à votre cave vous aurez besoin de lancer

Elouann Lucas 0 Jul 5, 2022
REST API with FastAPI and SQLite3.

REST API with FastAPI and SQLite3

Luis Quiñones Requelme 2 Mar 14, 2022
A simple porfolio with Django, Bootstrap and Sqlite3

Django Portofolio Example this is a basic portfolio in dark mode Installation git clone https://github.com/FaztWeb/django-portfolio-simple.git cd djan

Fazt Web 16 Sep 26, 2022
A selection of SQLite3 databases to practice querying from.

Dummy SQL Databases This is a collection of dummy SQLite3 databases, for learning and practicing SQL querying, generated with the VS Code extension Ge

null 1 Feb 26, 2022
REST API with Django and SQLite3

REST API with Django and SQLite3

Luis Quiñones Requelme 1 Nov 7, 2021
Vehicle registration using Python, Django and SQlite3

PythonCrud Cadastro de veículos utilizando Python, Django e SQlite3 Para acessar o deploy no Heroku:

Jorge Thiago 4 May 20, 2022