Skip to main content

Helps shorten the amount of code you write

Project description

ShrtCde (ShortCode)

A small python library for lazy devs. This shortens the amount of code you have to write for your program with the help of functions.

VERSION: 0.4.6

LICENSE

This project uses the Apache-2.0 license. For more info, check LICENSE.

INSTALLATION

pip install ShrtCde

or

pip3 install ShrtCde

EXAMPLE (IO MODULE)

An example for the IO module.

from ShrtCde.IO import *

# Feel free to mess around with the function values!

path = input("Enter file path (write): ")
data = input("Enter data to write: ")
encoding = input("Enter encoding of data: (default: utf-8)")
encoding = encoding if encoding != "" else "utf8"

split = " "
data = list(data.split(sep=split))

append = input("Append data? y/n: ")
if append == 'y': writef(path, data, 'a', encoding)
else: writef(path, data, 'w', encoding)

print('\n\n')

path = input("Enter file path (read): ")
encoding = input("Enter encoding of data: (default: utf-8)")
encoding = encoding if encoding != "" else "utf8"

if not findf(path):
    print("File was not found.")
    input()
    quit()

mode = input("Enter read mode:\n-r to read whole file as string\n-rl to read first line as string\n-rls ro read whole file as list\n: ")
data = readf(path, mode, encoding)
print(data, f"\n\n TYPE: {str(type(data))}")
input()

EXAMPLE (UI MODULE)

An example for the UI module.

from tkinter import filedialog
from ShrtCde.UI import *

# Feel free to mess around with the function values!

img_path = filedialog.askopenfilename(title="OPEN PNG")

___example___ = lambda:showinfo("EXAMPLE", "EXAMPLE")

root = mkRoot("EXAMPLE", "900x900", img_path, minsize="200x200", maxsize="1200x1200", color="Yellow")
toplevel1 = mkRoot("EXAMPLE", "300x300", mktoplevel=root, resize='x')
toplevel2 = mkRoot("EXAMPLE", "300x670", mktoplevel=root, resize='y')
toplevel3 = mkRoot("EXAMPLE", "300x550", mktoplevel=root, resize='xy')
mkMenu(root, {"func" : ___example___, "cascade" : {"func" : ___example___, 0:0, "func2" : ___example___, 1:0, ("QUIT", "ctrl+q") : lambda:root.quit()}})

mkLabel(root, text="label", width=20, height=2, font=mkFont("Terminal", 30, "bold", underline=1), border=5, relief="groove", fg="green", bg="red", hlcolor="blue", hlsize=5).pack()

mkLabel(toplevel1, text="example label", width=40).pack()
a,b=mkLabel(toplevel1, image=img_path, imagewidth=200, imageheight=200, width=300, height=200)
print("line20: ", b.name, type(b))
a.pack()

a,b=mkLabel(root, image=img_path, width=300, height=200)
print("line24: ", b.name, type(b))
a.pack()
mkButton(root, function=___example___, text="button", width=20, height=2, font=mkFont("SimSun", 30, "bold", overstrike=1), border=5, relief="groove", fg="green", bg="red", activefg="brown", activebg="pink").pack()

mkLabel(toplevel2, text="example button", width=40).pack()
a,b=mkButton(toplevel2, function=___example___, imagewidth=200, imageheight=200, image=img_path, width=300, height=200, activefg="green", activebg="yellow")
print("line30: ", b.name, type(b))
a.pack()

a,b=mkButton(root, function=___example___, image=img_path, width=300, height=200, activefg="blue", activebg="red")
print("line34: ", b.name, type(b))
a.pack()
text=mkText(root, default="EXAMPLE", width=50, height=20, font=mkFont("Consolas", 30, "bold", "italic"), border=5, relief="raised", cursorwidth=10, cursorfg="red", fg="blue", bg="green", activehlcolor="white", hlcolor="black", hlsize=5)
text.bind("<KeyRelease>", lambda x: print("line37: ", text.get('0.0', 'end')))
text.pack()

entry,entryvar=mkEntry(toplevel3, default="EXAMPLE", width=15, font=mkFont("Times New Roman"), border=10, relief="sunken", cursorwidth=20, cursorfg="blue", fg="green", bg="red", hlcolor="yellow", activehlcolor="pink", hlsize=20)
entry.bind("<KeyRelease>", lambda x: print("line41: ", entryvar.get()))
entry.pack()

entry2,entryvar2=mkEntry(toplevel3, default="EXAMPLE", show='*', width=15, font=mkFont("Times New Roman"), border=10, relief="sunken", cursorwidth=20, cursorfg="blue", fg="green", bg="red", hlcolor="yellow", activehlcolor="pink", hlsize=20)
entry2.bind("<KeyRelease>", lambda x: print("line45: ", entryvar2.get()))
entry2.pack()

def show():
    showinfo("EXAMPLE", "line49:  " + str(dropvar.get()) + "\t" + str(type(dropvar)))

# Try changing "vartype" below.
#If it's an int, GetDropdown will return an IntVar,
#if it's a float GetDropdown will return a DoubleVar,
#if it is the str "BOOL" GetDropdown will return a BooleanVar,
#if it's None, or any other str, GetDropdown will return a StringVar.
drop,dropvar=mkDropdown(toplevel3, [1, 2, 3, 4, 5, 6], vartype=None, function=show, width=20, height=2, font=mkFont("OCR-A BT", 40), border=5, relief='groove', fg="red", bg="black", activefg="blue", activebg="yellow", hlcolor="blue", hlsize=10)
drop.pack()

slider=mkScale(toplevel3, 0, 1, HORIZONTAL, default=0.5, text="EXAMPLE", mindist=0.01, width=40, length=200, font=mkFont(size=30), border=5, relief="groove", troughcolor="blue", activefg="green", fg="red", bg="yellow", hlcolor="purple", hlsize=5)
slider.pack()

mkLabel(toplevel2, "RADIOBUTTON EXAMPLE").pack()
v = StringVar(toplevel2)
mkRadiobutton(toplevel2, v, "EXAMPLE 1", image="C:/users/asus/downloads/lambda.png", imgwidth=80, imgheight=80, indicator=1, function=lambda:print(v.get()), width=100, height=100, border=10, relief='flat', fg="red", bg="green", activefg="grey", activebg="red")[0].pack()
mkRadiobutton(toplevel2, v, "EXAMPLE 2", text="EXAMPLE 2", indicator=1, function=lambda:print(v.get()), font=mkFont("Arial Black"), width=20, height=2, border=10, relief='flat', fg="red", bg="green", activefg="grey", activebg="red", selectbg="green").pack()
mkRadiobutton(toplevel2, v, "EXAMPLE 3", image="C:/users/asus/downloads/lambda.png", imgwidth=80, imgheight=80, indicator=0, function=lambda:print(v.get()), width=100, height=100, border=10, relief='flat', fg="red", bg="green", activefg="grey", activebg="red", selectbg="green")[0].pack()
mkRadiobutton(toplevel2, v, "EXAMPLE 4", text="EXAMPLE 4", default="EXAMPLE 3", indicator=0, function=lambda:print(v.get()), font=mkFont("Arial Black"), width=20, height=2, border=10, relief='flat', fg="red", bg="green", activefg="grey", activebg="red").pack()

root.bind("<Control-q>", lambda x: root.quit())
root.mainloop()

All examples will also be available in the GitHub repo.

LINKS

https://github.com/Uralstech/ShrtCde

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ShrtCde-0.4.6.tar.gz (15.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ShrtCde-0.4.6-py3-none-any.whl (13.6 kB view details)

Uploaded Python 3

File details

Details for the file ShrtCde-0.4.6.tar.gz.

File metadata

  • Download URL: ShrtCde-0.4.6.tar.gz
  • Upload date:
  • Size: 15.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.10.5

File hashes

Hashes for ShrtCde-0.4.6.tar.gz
Algorithm Hash digest
SHA256 7d4c95cc41bb1d44f158c0a964299524f400e8dea93cc86d6f509dfab0b8e43d
MD5 100e2a84981e87a796019af2e7274c0a
BLAKE2b-256 60503d09b9e9faf9481e4fc9c34237d6035e49e9eed73fc725f88690ae7d0a9f

See more details on using hashes here.

File details

Details for the file ShrtCde-0.4.6-py3-none-any.whl.

File metadata

  • Download URL: ShrtCde-0.4.6-py3-none-any.whl
  • Upload date:
  • Size: 13.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.10.5

File hashes

Hashes for ShrtCde-0.4.6-py3-none-any.whl
Algorithm Hash digest
SHA256 ed94295928d076eced330e2eb1f5e30aa44ee4bb0facebe95beff1406ce1c256
MD5 a113c9ba4ef9e038ad3007f353e531fa
BLAKE2b-256 df430b651ce0ce727739feea11a61dc3bfe46d38fafa4beb810567d74c12e7c0

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page