Rename to CodeSmidgen
This commit is contained in:
parent
d31b783f55
commit
45d9263532
2
.gitignore
vendored
2
.gitignore
vendored
@ -1,7 +1,7 @@
|
||||
__pycache__
|
||||
*.egg-info
|
||||
*.sqlite
|
||||
stickynotes.cfg
|
||||
codesmidgen.cfg
|
||||
build
|
||||
dist
|
||||
.coverage
|
||||
|
@ -8,7 +8,7 @@ steps:
|
||||
image: python:3.11
|
||||
commands:
|
||||
- pip install hatch
|
||||
- cp stickynotes.example.cfg stickynotes.cfg
|
||||
- cp codesmidgen.example.cfg codesmidgen.cfg
|
||||
- hatch run tests:run
|
||||
publish-package:
|
||||
image: python:3.11
|
||||
|
@ -1,3 +1,3 @@
|
||||
[stickynotes]
|
||||
[codesmidgen]
|
||||
sqlalchemy_database_uri = sqlite:///
|
||||
secret_key = yoursecretkeyhere
|
@ -1,6 +1,6 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
"""
|
||||
StickyNotes, yet another paste bin
|
||||
CodeSmidgen, yet another paste bin
|
||||
"""
|
||||
from configparser import ConfigParser
|
||||
from pathlib import Path
|
||||
@ -8,8 +8,8 @@ from pathlib import Path
|
||||
import quart_flask_patch # noqa: F401
|
||||
from quart import Quart
|
||||
|
||||
from stickynotes.db import db
|
||||
from stickynotes.views import views
|
||||
from codesmidgen.db import db
|
||||
from codesmidgen.views import views
|
||||
|
||||
|
||||
def read_config(config_path=None):
|
||||
@ -17,16 +17,16 @@ def read_config(config_path=None):
|
||||
Read the configuration file and return the values in a dictionary
|
||||
"""
|
||||
if config_path:
|
||||
config_file = config_path / 'stickynotes.cfg'
|
||||
config_file = config_path / 'codesmidgen.cfg'
|
||||
else:
|
||||
config_file = Path(__file__).parent / '..' / 'stickynotes.cfg'
|
||||
config_file = Path(__file__).parent / '..' / 'codesmidgen.cfg'
|
||||
if not config_file.exists():
|
||||
return {}
|
||||
config_parser = ConfigParser()
|
||||
config_parser.read(config_file)
|
||||
config = {}
|
||||
for option in config_parser.options('stickynotes'):
|
||||
config[option.upper()] = config_parser.get('stickynotes', option)
|
||||
for option in config_parser.options('codesmidgen'):
|
||||
config[option.upper()] = config_parser.get('codesmidgen', option)
|
||||
return config
|
||||
|
||||
|
3
codesmidgen/__main__.py
Normal file
3
codesmidgen/__main__.py
Normal file
@ -0,0 +1,3 @@
|
||||
from codesmidgen.app import application
|
||||
|
||||
application.run()
|
@ -3,7 +3,7 @@
|
||||
This is the entry point for the WSGI server
|
||||
"""
|
||||
from pathlib import Path
|
||||
from stickynotes import make_app
|
||||
from codesmidgen import make_app
|
||||
|
||||
application = make_app(Path(__file__).parent.parent)
|
||||
|
@ -4,14 +4,14 @@ The models in use
|
||||
"""
|
||||
from datetime import datetime
|
||||
|
||||
from stickynotes.db import Model, Column, Integer, String, Text, DateTime, Boolean
|
||||
from codesmidgen.db import Model, Column, Integer, String, Text, DateTime, Boolean
|
||||
|
||||
|
||||
class StickyNote(Model):
|
||||
class Smidgen(Model):
|
||||
"""
|
||||
The main (only?) table in the system
|
||||
"""
|
||||
__tablename__ = 'sticky_notes'
|
||||
__tablename__ = 'smidgens'
|
||||
|
||||
id = Column(Integer, autoincrement=True, primary_key=True)
|
||||
title = Column(String(255))
|
Before Width: | Height: | Size: 1.7 KiB After Width: | Height: | Size: 1.7 KiB |
Before Width: | Height: | Size: 2.2 KiB After Width: | Height: | Size: 2.2 KiB |
@ -2,8 +2,8 @@
|
||||
{% block content %}
|
||||
<div class="row">
|
||||
<div class="col-xs-12 col-sm-12 col-md-12 col-lg-12">
|
||||
<h2>About StickyNotes</h2>
|
||||
<p>StickyNotes is a quick code paste application written in Python with Quartz, SQLAlchemy, Mako, Pygments and a few other Python libraries.</p>
|
||||
<h2>About CodeSmidgen</h2>
|
||||
<p>CodeSmidgen is a quick code paste application written in Python with Quartz, SQLAlchemy, Mako, Pygments and a few other Python libraries.</p>
|
||||
</div>
|
||||
</div>
|
||||
{% endblock %}
|
@ -4,7 +4,7 @@
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<title>StickyNotes</title>
|
||||
<title>CodeSmidgen</title>
|
||||
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootswatch@4.6.0/dist/darkly/bootstrap.min.css" type="text/css">
|
||||
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap-select@1.13.14/dist/css/bootstrap-select.min.css" type="text/css">
|
||||
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/font-awesome@4.7.0/css/font-awesome.min.css" type="text/css">
|
||||
@ -16,7 +16,7 @@
|
||||
<body>
|
||||
<nav class="navbar navbar-expand-lg navbar-dark bg-primary navbar-fixed-top">
|
||||
<div class="container">
|
||||
<a href="/" class="navbar-brand">StickyNotes</a>
|
||||
<a href="/" class="navbar-brand">CodeSmidgen</a>
|
||||
<button type="button" class="navbar-toggler collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar">
|
||||
<span class="navbar-toggler-icon"></span>
|
||||
</button>
|
||||
@ -40,7 +40,7 @@
|
||||
</div>
|
||||
<footer class="footer">
|
||||
<div class="container">
|
||||
<p class="text-muted">Copyright © 2015 Raoul Snyman.</p>
|
||||
<p class="text-muted">Copyright © 2023 Raoul Snyman.</p>
|
||||
</div>
|
||||
</footer>
|
||||
<script src="https://code.jquery.com/jquery-3.5.1.slim.min.js" integrity="sha384-DfXdz2htPH0lsSSs5nCTpuj/zy4C+OGpamoFVy38MVBnE+IbbVYUew+OrCXaRkfj" crossorigin="anonymous"></script>
|
@ -7,7 +7,7 @@
|
||||
<textarea name="source" id="source" class="form-control" rows="20"></textarea>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<input type="text" name="title" id="title" class="form-control" placeholder="Title of your snippet">
|
||||
<input type="text" name="title" id="title" class="form-control" placeholder="Title of your smidgen">
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="language">Language</label>
|
@ -13,8 +13,8 @@ from pygments.formatters.html import HtmlFormatter
|
||||
from pygments.lexers import get_lexer_by_name, get_all_lexers
|
||||
from sqlalchemy import or_
|
||||
|
||||
from stickynotes.db import session
|
||||
from stickynotes.models import StickyNote
|
||||
from codesmidgen.db import session
|
||||
from codesmidgen.models import Smidgen
|
||||
|
||||
|
||||
log = logging.getLogger(__name__)
|
||||
@ -55,10 +55,10 @@ async def notes():
|
||||
"""
|
||||
Show a list of recent notes
|
||||
"""
|
||||
notes = StickyNote.query\
|
||||
.filter(or_(StickyNote.expiry == None, StickyNote.expiry < datetime.utcnow()))\
|
||||
.filter(~StickyNote.private)\
|
||||
.order_by(StickyNote.created.desc())\
|
||||
notes = Smidgen.query\
|
||||
.filter(or_(Smidgen.expiry == None, Smidgen.expiry < datetime.utcnow()))\
|
||||
.filter(~Smidgen.private)\
|
||||
.order_by(Smidgen.created.desc())\
|
||||
.limit(10) # noqa: E711
|
||||
return await render_template('notes.html', notes=notes)
|
||||
|
||||
@ -85,10 +85,10 @@ async def save():
|
||||
expiry = created + EXPIRY_DELTAS.get(form['expiry'], EXPIRY_DELTAS['1d'])
|
||||
# Generate a short url, and check if it exists in the db
|
||||
url = _generate_short_url()
|
||||
while StickyNote.query.filter(StickyNote.url == url).first():
|
||||
while Smidgen.query.filter(Smidgen.url == url).first():
|
||||
url = _generate_short_url()
|
||||
# Create a new note
|
||||
note = StickyNote(
|
||||
note = Smidgen(
|
||||
title=form.get('title', ''),
|
||||
source=form['source'],
|
||||
lexer=form['language'],
|
||||
@ -113,7 +113,7 @@ async def view(note_url):
|
||||
|
||||
:param note_url: The note to show
|
||||
"""
|
||||
note = StickyNote.query.filter(StickyNote.url == note_url).first()
|
||||
note = Smidgen.query.filter(Smidgen.url == note_url).first()
|
||||
if not note:
|
||||
flash('That note does not exist', 'danger')
|
||||
return redirect('/')
|
||||
@ -131,7 +131,7 @@ async def raw(note_url):
|
||||
|
||||
:param note_url: The note to show
|
||||
"""
|
||||
note = StickyNote.query.filter(StickyNote.url == note_url).scalar()
|
||||
note = Smidgen.query.filter(Smidgen.url == note_url).scalar()
|
||||
if not note:
|
||||
flash('That note does not exist', 'danger')
|
||||
return redirect('/')
|
@ -3,7 +3,7 @@ requires = ["hatchling", "hatch-vcs"]
|
||||
build-backend = "hatchling.build"
|
||||
|
||||
[project]
|
||||
name = "StickyNotes"
|
||||
name = "CodeSmidgen"
|
||||
dynamic = ["version"]
|
||||
description = "A simple pastebin"
|
||||
license = "GPL-3.0-or-later"
|
||||
@ -53,11 +53,11 @@ source = "vcs"
|
||||
|
||||
[tool.hatch.build.targets.sdist]
|
||||
include = [
|
||||
"/stickynotes",
|
||||
"/codesmidgen",
|
||||
]
|
||||
|
||||
[tool.hatch.envs.default.scripts]
|
||||
serve = "quart -A stickynotes.app run"
|
||||
serve = "quart -A codesmidgen.app run"
|
||||
|
||||
[tool.hatch.envs.lint]
|
||||
skip-install = true
|
||||
@ -76,4 +76,4 @@ dependencies = [
|
||||
]
|
||||
|
||||
[tool.hatch.envs.tests.scripts]
|
||||
run = "pytest --cov=stickynotes --cov-report=html"
|
||||
run = "pytest --cov=codesmidgen --cov-report=html"
|
||||
|
@ -1,3 +0,0 @@
|
||||
from stickynotes.app import application
|
||||
|
||||
application.run()
|
@ -1,6 +1,6 @@
|
||||
import pytest
|
||||
|
||||
from stickynotes.app import make_app
|
||||
from codesmidgen.app import make_app
|
||||
|
||||
pytestmark = [pytest.mark.asyncio]
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user