Skip to content

2021-02-13 (yyyy-mm-dd)

Choose a tag to compare

@DavideC03 DavideC03 released this 13 Feb 15:44

create_structure

GitHub license Author Version Language Python sys.platform supported On GitHub PyPI

Contents

Description

This is the magic :octocat: bot :octocat: by Castellani Davide
With this programm you can easily create a repository on GitHub :octocat: with a basic template, personalized for your use.

Required

  • required python3 (>=3.8)
  • pip3
  • Internet connection
  • GitHub account

Setup

Attention: replace <SOME_WORDS> with your values

  • Debian/ Ubuntu using apt:
    • sudo add-apt-repository ppa:castellanidavide/createstructure; sudo apt update; sudo apt install createstructure
  • Windows (using choco):
    • choco install createstructure
    • createstrucure.exe -l <- for the login
  • All OS using pypi:
    • pip install createstructure
    • Made an alias of use
      • Value of the alias:
        python3 -c "exec(\"from create_structure import create_structure;create_structure()\")" -t=<TOCKEN> -s=<(optional)_ARRAY_OF_TEMPLATE_SOURCES> -o=<(optional)_ORGANIZATION> -i=<(optional)_FOLDERS_AND_FILES_TO_BE_IGNORED_BY_TEMPLATE>
      • Eg. ubuntu/debian (after this reload the terminal):
        echo alias createstructure='python3 -c "exec(\"from create_structure import create_structure;create_structure()\")" -t=<TOCKEN> -s=<(optional)_ARRAY_OF_TEMPLATE_SOURCES> -o=<(optional)_ORGANIZATION> -i=<(optional)_FOLDERS_AND_FILES_TO_BE_IGNORED_BY_TEMPLATE>' >> ~/.bash_aliases
      • Example of use: echo "alias createstructure='python3 -c \"exec(\\\"from create_structure import create_structure;create_structure()\\\")\" -t=abcb1234 -s=[CastellaniDavide] -o=CastellaniDavideTest -i=[.vs,.vscode]'" >> ~/.bash_aliases
  • Manual by source:
    • install git
    • download the repo git clone https://github.com/CastellaniDavide/create_structure.git
    • install python3
    • install pip3
    • install requirements.txt (in core of the project): pip3 install -r requirements/requirements.txt
    • create an alias
      • name: create_structure
      • attribute: python3 <ABSOLUTE_PATH_OF_REPO>/bin/create_structure.py -t= -s=<ARRAY_OF_SOURCES> -o=<(optional)_ORGANIZATION> -i=<(optional)_FOLDERS_TO_BE_IGNORED_FROM_TEMPLATE>

Update

  • With pypi method: pip3 install [package_name] --upgrade

Directories structure

  • .github
    • ISSUE_TEMPLATE
      • *.md
    • workflows
      • *.yml
  • choco
  • create_structure
    • __init __.py
  • debian
  • doc
    • _config.yml
    • LICENSE
    • README.md
  • requirements
    • requirements.txt
  • setup.py
  • .gitignore

Execution examples

  • create_structure

How to create your own template

1. Open father template

2. Clone the templete into your GitHub account

  • Press "Use this template" bottom
  • Compile the form that you see, take attention to the owner and make sure the visibity to "Public"

3. Modify it

  • You can clone on your PC and choose what and how to change (it's not a problem if you want to change all the structure 😄)
  • Take attention to che .castellanidavide\change.json file
    • You can see some change examples => ... "from": "to", ...
    • Make attention to this special alias
      • sol<question_tag>sol -> the result of your answer in the form you made at the beginning
      • time__now -> Datetime (format yyyy-mm-dd)
      • time_now -> Datetime (format yyyymmdd)
      • (Do you have any idea? You can say me on the help email help@castellanidavide.it and I could add it to newer versions)
  • Rememper to push your changes

4. Add your account into research

  • Add your Own name into SOUCES_OF_TEMPLATES, keep attention to the order (i sugge

5. Try it

  • Try to execute this programm and check correct use

Changelog

7.1_2021-02_13

  • Change internal team variable (team pointer => team name)
  • Adjust emoji
  • Add a parameter to create a template eg. -temp --template
  • Optimized multithreading on push

7.0_2021-01-11

  • Added Debian package
  • Added Choco package
  • Automate Choco package publishing

6.2_2021-01-04

  • Added emoji 😄 to the output

6.1_2021-01-03

  • Fixed a bug
  • Adjusted variable names
  • Added a method to understand when an answer is positive, this for a more centralized control
  • Added developer/ verbose setting
  • Update .gitignore
  • Added the possibility to add automatically the answers
  • Optimized README.md
  • Now the workflows file are loaded at the end
  • Update workflows

5.5_2020-12-13

  • Add first version of GitHub Actions

5.4_2020-12-12

  • Fixed some bugs
  • Changed the README.md
  • Create a setup method <= easier to use
  • Changed the way to give the tocken, ... => now by CLI

5.3_2020-11-29

  • removed some untils lines
  • accelerated the code
  • parametrized the folder to be ignored
  • start to use multitreading (41 sec. -> 10 sec.) (I made this test using this template)
  • optimized imports
  • optimised variables

5.2_2020-11-28

  • Added the website documentation
  • Fixed a bug

5.1_2020-11-28

  • Fixed a bug
  • Add team selection in runtime execution

5.0_2020-11-21

  • Fixed a bug
  • Made a better documentation
  • Optimized the question structure
  • Optimized the questions
  • Added some variables
    • Template sources list
    • Organization name (if you want to save into an Organization)
  • Removed some ununtil variables

4.0_2020-09-25

Changes
  • Fixed a bug
  • Remove the necessity of insert credentials any time
  • Download in any case, before only if public repo
  • removed unused files

3.1_2020-08-18

Changes
  • optimized the code
  • added requirements.txt

3.0_2020-08-15

Changes
  • add GitHub support with a lot of options (eg. repo private or public)

2.0_2020-03-24

Changes
  • adjusted some bugs
  • improved the program

1.0_2020-03-24

  • Initial version

Made by Castellani Davide
If you have any problem or ask please contact me: