{"id":13650695,"url":"https://github.com/Firesphere/silverstripe-sspy","last_synced_at":"2025-04-22T18:32:18.751Z","repository":{"id":81141485,"uuid":"184842609","full_name":"Firesphere/silverstripe-sspy","owner":"Firesphere","description":"Python based SSPAK export with higher reliability and cross-platform compatibility","archived":false,"fork":false,"pushed_at":"2022-10-14T21:58:12.000Z","size":96,"stargazers_count":1,"open_issues_count":2,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2024-05-01T20:17:16.733Z","etag":null,"topics":["database","dump","export","hacktoberfest","mariadb","mysql","python","python3","rickandmorty","silverstripe","sspak","transfer-data"],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Firesphere.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2019-05-04T02:17:15.000Z","updated_at":"2021-06-29T01:55:37.000Z","dependencies_parsed_at":"2023-05-21T01:45:48.710Z","dependency_job_id":null,"html_url":"https://github.com/Firesphere/silverstripe-sspy","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Firesphere%2Fsilverstripe-sspy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Firesphere%2Fsilverstripe-sspy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Firesphere%2Fsilverstripe-sspy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Firesphere%2Fsilverstripe-sspy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Firesphere","download_url":"https://codeload.github.com/Firesphere/silverstripe-sspy/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":223903152,"owners_count":17222494,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["database","dump","export","hacktoberfest","mariadb","mysql","python","python3","rickandmorty","silverstripe","sspak","transfer-data"],"created_at":"2024-08-02T02:00:39.494Z","updated_at":"2024-11-10T01:31:01.334Z","avatar_url":"https://github.com/Firesphere.png","language":"Python","funding_links":[],"categories":["Tools"],"sub_categories":["Management"],"readme":"# SSPY - Python Stand-alone SSPAK solution\n##### \u0026copy; Simon `Firesphere` Erkelens; Moss `Mossman` Cantwell\n\n## Usage:\n\n      sspy [create|load|extract] (db|assets) --file=my.sspak --db=mydb.tar.gz --assets=myassets.tar.gz --webroot=relative/path/to/webroot\n          \nthe db and assets commands are optional.\n\nThis script should preferably be run from the webroot of the site\n\n### Arguments:\n\n    create\n           db     Only create a database snapshot\n           assets Only create an assets snapshot\n           none   Create a full snapshot\n    load\n           No arguments required, it detects if there is a database or assets\n           Warning: No backup of database or assets will be created!\n    extract\n           No arguments required. The SSPAK file will be extracted in to database.sql.gz and assets.tar.gz\n### Parameters\n\n    --file=|-f \n                 Required, path to the sspak. E.g. --file=my.sspak or -f my.sspak\n                 (note, no = sign for the shorthand!\n    --db=|-d \n                 Optional, path to existing database file, e.g. --db=mydatabase.sql.gz or -d mydatabase.sql.gz to create the sspak from existing sources\n                 (note, no = sign for the shorthand!\n    --assets=|-a \n                 Optional, path to existing assets file, e.g. --assets=myassets.tar.gz or -a myassets.tar.gz to create the sspak from existing sources\n                 (note, no = sign for the shorthand!\n\n----------\n    --webroot=|-w \n                  Optional, relative path from the current location to the webroot\n\n## Options\n\n|Option|Description           |\n|------|----------------------|\n|create|Create a new sspak    |\n|load  |Load an existing sspak|\n\n### Optional options\n\n|Sub option|Description  |\n|----------|-------------|\n|db        |Database only|\n|assets    |Assets only  |\n\n### Arguments\n\n|Argument |Description                                             |Default|Required|\n|---------|--------------------------------------------------------|-------|--------|\n|--file   |The file to read or write                               |None   |Yes     |\n|--db     |Path to the database sql.gz file to create from existing|None   |No      |\n|--assets |Path to the assets tar.gz file to create from existing  |None   |No      |\n|--webroot|Relative path to the webroot from the current location  |.      |No      |\n\n\n\nShorthands are available, instead of `--file` you can use `-f`, instead of `--db` you can use `-d` and instead of `--assets` you can use `-a` and instead of `--webroot` you can use `-w`\n\nNote that using shorthand commands, it should be `-f myfile.sspak` instead of `--file=myfile.sspak`\n\nThe db and assets arguments are optional. If omitted, the actual database and assets folder will be used.\n\nThe file name can be anything, but will be appended with `.sspak` if the file name does not have the correct extension.\n\n**CAUTION**\nNot providing a unique file name, might cause a single sspak to be loaded with the same files over and over, appending data to them instead of replacing!\n\n# Building\n\nFor Windows 10, using PyInstaller, make sure the [Windows SDK libraries](https://dev.windows.com/en-us/downloads/windows-10-sdk) are installed and add the libraries to your path.\n\n`set PATH=%PATH%;C:\\Program Files (x86)\\Windows Kits\\10\\Redist\\ucrt\\DLLs\\x86`\n`set PATH=%PATH%;C:\\Program Files (x86)\\Windows Kits\\10\\Redist\\ucrt\\DLLs\\x64`\n\nTo build, run `pyinstaller sspy.spec` (On your preferred platform)\n\n# Attributions\n\n- João Magalhães - The original MySQL Dump library which has been altered to fit our needs and have a bit more flexibility overall\n- The pymysql project\n- The DotEnv project\n\n# License\n\nThis module is published under BSD 3-clause license\n\nhttp://www.opensource.org/licenses/BSD-3-Clause\n\nCopyright \u0026copy 2019-NOW(), Simon `Firesphere` Erkelens; Moss `Mossman` Cantwell\n\nAll rights reserved.\n\nRedistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:\n\n    Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.\n    Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n\n\n## Did you read this entire readme? \n\nYou rock!\n\n# Pictured below is a cow, just for you.\n```\n\n               /( ,,,,, )\\\n              _\\,;;;;;;;,/_\n           .-\"; ;;;;;;;;; ;\"-.\n           '.__/`_ / \\ _`\\__.'\n              | (')| |(') |\n              | .--' '--. |\n              |/ o     o \\|\n              |           |\n             / \\ _..=.._ / \\\n            /:. '._____.'   \\\n           ;::'    / \\      .;\n           |     _|_ _|_   ::|\n         .-|     '==o=='    '|-.\n        /  |  . /       \\    |  \\\n        |  | ::|         |   | .|\n        |  (  ')         (.  )::|\n        |: |   |;  U U  ;|:: | `|\n        |' |   | \\ U U / |'  |  |\n        ##V|   |_/`\"\"\"`\\_|   |V##\n           ##V##         ##V##\n```\n\n# And a monkey!\n```\n_______AAAA_______________AAAA________\n       VVVV               VVVV        \n       (__)               (__)\n        \\ \\               / /\n         \\ \\   \\\\|||//   / /\n          \u003e \\   _   _   / \u003c\n           \u003e \\ / \\ / \\ / \u003c\n            \u003e \\\\_o_o_// \u003c\n             \u003e ( (_) ) \u003c\n              \u003e|     |\u003c\n             / |\\___/| \\\n             / (_____) \\\n             /         \\\n              /   o   \\\n               ) ___ (   \n              / /   \\ \\  \n             ( /     \\ )\n             \u003e\u003c       \u003e\u003c\n            ///\\     /\\\\\\\n            '''       '''\n```","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FFiresphere%2Fsilverstripe-sspy","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FFiresphere%2Fsilverstripe-sspy","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FFiresphere%2Fsilverstripe-sspy/lists"}