8000 prepare v4.1 by previ · Pull Request #163 · CoderBotOrg/backend · GitHub
[go: up one dir, main page]

Skip to content

prepare v4.1 #163

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 48 commits into from
Jul 8, 2022
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
48 commits
Select commit Hold shift + click to select a range
ba975a5
tf 2.7
previ Jan 21, 2022
e437748
revert tf 2.1
previ Jan 22, 2022
9d5fdf4
bump numpy ver
previ Jan 23, 2022
7c7ee87
bump requirements_stub
previ Jan 24, 2022
ba9729e
bump requirements_stub
previ Jan 24, 2022
80c3b6f
led ws2812b
previ Jan 25, 2022
e14de56
led ws2812b
previ Jan 25, 2022
bcbba45
led ws2812b
previ Jan 25, 2022
f2c224a
led ws2812b
previ Jan 26, 2022
140285d
add listMusicPackages api
previ Jan 29, 2022
d88b342
fix musicPackage export
previ Jan 30, 2022
cfab93b
remove coderbot-copy.py
previ Jan 30, 2022
c90ccf8
fix music package removal
previ Feb 1, 2022
db7bfde
Merge branch 'develop' of https://github.com/CoderBotOrg/backend into…
previ Feb 1, 2022
1c69018
v1 feature parity
previ Feb 1, 2022
0cefff7
fix #155
previ Feb 6, 2022
a6eec09
fix program statu 8000 s and log with v2
previ Feb 7, 2022
d1d3882
update ci
previ Feb 8, 2022
55023d5
add default activity init
previ Mar 6, 2022
5763bc8
add default activity init
previ Mar 7, 2022
a3f291b
add default activity
previ Mar 9, 2022
ca1b990
activity default parameters
previ Mar 12, 2022
c096602
bullseye wip
previ May 28, 2022
fa63bb4
bullseye wip
previ May 29, 2022
5d50a5e
Update audioControls.py
previ May 29, 2022
0f3e5f6
bullseye wip
previ May 29, 2022
1266d83
Update audio.py
previ Jun 8, 2022
e032049
update stock activities
previ Jun 8, 2022
d58a6d8
Update program.py
previ Jun 11, 2022
94e2c76
Update activity_default.json
previ Jun 12, 2022
a1ec6ac
Update coderbot.py
previ Jun 18, 2022
ea027ed
no longer init_activities
previ Jun 28, 2022
c71cfc7
move init_activities on frontend for i18n
previ Jun 28, 2022
795fd4c
fix v4.1 bugs
previ Jul 3, 2022
06ad987
fix 4.1 bugs
previ Jul 3, 2022
a5699ba
fix 4.1 bugs
previ Jul 3, 2022
e6b0ffb
fix 4.1 bugs
previ Jul 3, 2022
0cadf12
fix 4.1 bugs
previ Jul 3, 2022
6dc5198
fix v4.1 bugs
previ Jul 3, 2022
94985a5
fix 4.1 bugs
previ Jul 4, 2022
76b850a
fix 4.1 bugs
previ Jul 4, 2022
216b1f8
fix 4.1 bugs
previ Jul 4, 2022
3dc0eb3
fix 4.1 bugs
previ Jul 5, 2022
02d3601
fix 4.1 bugs
previ Jul 6, 2022
5de8c00
Update wifi.py
previ Jul 7, 2022
86bcc8d
Update wifi.py
previ Jul 8, 2022
9ab32b3
add CONTRIBUTING.md (#162)
avivace Jul 8, 2022
66441fa
merge master
previ Jul 8, 2022
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
fix music package removal
  • Loading branch information
previ committed Feb 1, 2022
commit c90ccf8a1d95c276e78fd5c38557b3b1d4861978
11 changes: 10 additions & 1 deletion api.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
import os
import subprocess
import json
import logging
import connexion
from tinydb import TinyDB, Query
from tinydb.operations import delete
Expand Down Expand Up @@ -187,7 +188,7 @@ def listMusicPackages():
"""
musicPkg = MusicPackageManager.get_instance()
response = musicPkg.listPackages()
return json.dumps(response.__dict__)
return json.dumps(response)

def updateMusicPackages():
"""
Expand All @@ -209,6 +210,14 @@ def updateMusicPackages():
elif response == 3:
return 400

def deleteMusicPackage(package_data):
"""
Delete a musical package an save the list of available packages on disk
also delete package sounds and directory
"""
musicPkg = MusicPackageManager.get_instance()
musicPkg.deletePackage(package_data['package_name'])
return 200

## Programs

Expand Down
11 changes: 0 additions & 11 deletions main.py
Original file line number Diff line number Diff line change
Expand Up @@ -162,17 +162,6 @@ def handle_config():
app.bot_config = Config.get()
return "ok"

@app.route("/deletepkg", methods=["POST"])
def handle_packages():
"""
Delete a musical package an save the list of available packages on disk
also delete package sounds and directory
"""
packageName = request.form.get("nameID")
musicPkg = MusicPackageManager.get_instance()
musicPkg.deletePackage(packageName)
return "package deleted"

@app.route("/config", methods=["GET"])
def returnConfig():
"""
Expand Down
45 changes: 27 additions & 18 deletions musicPackages.py
Original file line number Diff line number Diff line change
Expand Up @@ -28,10 +28,12 @@

import json
import os
import logging
import copy

class MusicPackage:

def __init__(self, nameID, category, name_IT,n ame_EN, version, date):
def __init__(self, nameID, category, name_IT, name_EN, version, date):
self.nameID = nameID
self.category = category
self.name_IT = name_IT
Expand Down Expand Up @@ -87,7 +89,6 @@ class MusicPackageManager:
def get_instance(cls):
if cls._instance is None:
cls._instance = MusicPackageManager()
print("make MusicPackageManager")
return cls._instance

def __init__(self):
Expand All @@ -107,7 +108,14 @@ def __init__(self):
self.packages[p] = mp

def listPackages(self):
return self.packages
packages_serializable = dict()
for name, package in self.packages.items():
package_copy = copy.deepcopy(package)
packages_serializable[name] = package_copy.__dict__
packages_serializable[name]['interfaces'] = []
for i in package.interfaces:
packages_serializable[name]['interfaces'].append(i.__dict__)
return packages_serializable

def updatePackages(self):
newdict = { 'packages': {} }
Expand All @@ -128,25 +136,26 @@ def updatePackages(self):
newdict['packages'][nameID]['interface']['advanced']['icon'] = self.packages[element].getInterfaces()[2].getIcon()

#json_packages = json.dumps(newdict)
with open('./dist/static/music_package.json', 'w', encoding='utf-8') as json_file:
with open('sounds/notes/music_package.json', 'w', encoding='utf-8') as json_file:
json.dump(newdict, json_file, ensure_ascii=False, indent=4)


def deletePackage(self, packageName):
if packageName in self.packages:
del self.packages[packageName]
self.updatePackages()
else:
print("errore, il pacchetto " + packageName + " non è stato trovato")
return 2
logging.info("packageName: " + packageName)
if packageName in self.packages:
del self.packages[packageName]
self.updatePackages()
else:
logging.error("errore, il pacchetto " + packageName + " non è stato trovato")
return 2

if os.path.exists('./sounds/notes/' + packageName):
os.system('rm -rf ./sounds/notes/' + packageName)
return 1
if os.path.exists('./sounds/notes/' + packageName):
os.system('rm -rf ./sounds/notes/' + packageName)
return 1


def verifyVersion(self, packageName, version):
print("verifica pacchetto")
logging.info("verifica pacchetto")
#newversionList = version.split('.')
if packageName not in self.packages:
return True
Expand All @@ -169,15 +178,15 @@ def verifyVersion(self, packageName, version):
def addPackage(self, filename):
pkgnames = filename.split('_')
version = pkgnames[1].replace('.zip', '')
print(version)
logging.info("Music Package version: " + version)
pkgname = pkgnames[0]
pkgpath = './sounds/notes/' + pkgname
if not self.verifyVersion(pkgname, version):
if (version == self.packages[pkgname].getVersion()):
print("errore, il pacchetto " + pkgname + " ha versione identica a quello attualmente installato")
logging.error("errore, il pacchetto " + pkgname + " ha versione identica a quello attualmente installato")
return 3
else:
print("errore, il pacchetto " + pkgname + " ha versione precendente a quello attualmente installato")
logging.info("errore, il pacchetto " + pkgname + " ha versione precendente a quello attualmente installato")
return 2
else:

Expand All @@ -187,7 +196,7 @@ def addPackage(self, filename):
os.system('mv ./updatePackages/' + pkgname + "/" + 'audio.wav ' + pkgpath + '/')

with open('./updatePackages/' + pkgname + '/' + pkgname + '.json') as json_file:
print("adding " + pkgname + " package")
logging.info("adding " + pkgname + " package")
data = json.load(json_file)
for p in data['packages']:
package = data['packages'][p]
Expand Down
18 changes: 18 additions & 0 deletions v2.yml
Original file line number Diff line number Diff line change
Expand Up @@ -81,6 +81,24 @@ paths:
responses:
200:
description: "ok"
/deleteMusicPackage:
post:
operationId: "api.deleteMusicPackage"
summary: "Delete Music Package"
parameters:
- name: package_data
in: body
schema:
type: object
properties:
package_name:
type: string
responses:
200:
description: "ok"
400:
description: "not found"

/updateFromPackage:
post:
operationId: "api.updateFromPackage"
Expand Down
0