Benvenuto Ospite,
per utilizzare il Forum ed avere accesso a tutte le sezioni e poter aprire un tuo Topic, rispondere nelle varie discussioni, mandare o ricevere Messaggi Privati devi seguire pochi passaggi:


Leggi il nostro Regolamento -> PREMI QUI <-
Segui il link su come Iscriversi -> PREMI QUI <-


Ricordati di aggiornare l'Avatar usando una immagine che ti distingua nel Forum

software per recuperare la lista giochi di Teknoparrot

Problemi e soluzioni su configurazioni software, firmware
Avatar utente
pucci
Moderatore
Moderatore
Messaggi: 4926
Iscritto il: 19/07/2005, 18:52
Città: San Clemente (RN)
Località: Rimini
Grazie Ricevuti: 69 volte

software per recuperare la lista giochi di Teknoparrot

Messaggio da pucci »

C'è qualcuno bravo a programmare che può realizzare il software in oggetto?
non dovrebbe essere complicato

l'attività del software dovrebbe essere questa:
- mi fa selezionare la cartella dove si trova TeknoParrot
- legge tutti i file xml presenti nella sottocartella "GameProfiles"
- all'interno di ogni file legge i seguenti TAG e li mette in una nuova riga di una tabella, i vari TAG rappresenteranno le colonne della tabella (NOTA: non tutti i file presentano tutti questi TAG, se il TAG non è presente per uno specifico gioco si lascia il campo vuoto)
<GameName>
<GameGenre>
<IconName>
<EmulationProfile>
<GameProfileRevision>
<Is64Bit>
<EmulatorType>
<DevOnly>
<Patreon>
<ExecutableName>
<ExecutableName2>
<HasTwoExecutables>
- legge tutti i file json presenti nella sottocartella "Descriptions" utilizzando il nome del file json (ES: pacman.json) per associare i dati contenuti nel file ad una riga specifica (e quindi ad un gioco specifico) della tabella creata al punto precedente
- all'interno di ogni file legge le seguenti informazioni
"platform"
"release_year"
"nvidia"
"nvidia_issues"
"amd"
"amd_issues"
"intel"
"intel_issues"
"general_issues"
- legge tutti i file presenti nella sottocartella "Icons"
- se viene trovato un file con nome uguale a alla colonna <GameName> presente nella tabella, in una nuova colonna ("HasIcon") della riga corrispondente al nome viene messo il valore YES
- al termine di tutto si rende visualizzabile la tabella all'interno di un controllo DataGrid (ordinabile a livello di singole colonne ed eventualmente filtrabile)
- si da la possibile all'utente di esportare i dati nella tabella in vari formati (csv, excel, ecc...)

c'è qualche volenteroso che vuole cimentarsi con il "TeknoList"?
Avatar utente
pucci
Moderatore
Moderatore
Messaggi: 4926
Iscritto il: 19/07/2005, 18:52
Città: San Clemente (RN)
Località: Rimini
Grazie Ricevuti: 69 volte

Re: software per recuperare la lista giochi di Teknoparrot

Messaggio da pucci »

@motoschifo ?
@Gothrek ?
Pucci - The Bastard Son of Arcade Italia
"MODerrare humanum est"
tutte le copertine di The Games Machine
non combatto guerre di intelligenza con gente disarmata
Avatar utente
Gothrek
Moderatore
Moderatore
Messaggi: 5498
Iscritto il: 13/07/2017, 13:30
Città: Roma
Grazie Inviati: 20 volte
Grazie Ricevuti: 313 volte

Re: software per recuperare la lista giochi di Teknoparrot

Messaggio da Gothrek »

pucci ha scritto: 03/07/2022, 10:31 @motoschifo ?
@Gothrek ?
Ciao Pucci,
il tag non ha funzionato e per purissimo caso ci sono incappato.

Ti serve ancora, posso guardartici io,
faccio delle cose simili per importare i theme per emulstation.

fammi sapere.
Avatar utente
pucci
Moderatore
Moderatore
Messaggi: 4926
Iscritto il: 19/07/2005, 18:52
Città: San Clemente (RN)
Località: Rimini
Grazie Ricevuti: 69 volte

Re: software per recuperare la lista giochi di Teknoparrot

Messaggio da pucci »

si, mi servirebbe ancora e penso sarebbe utile a molti.
ora sto facendo tutto a mano ma sono quasi 260 giochi... ed è facile sbagliare dei copia incolla
Avatar utente
Gothrek
Moderatore
Moderatore
Messaggi: 5498
Iscritto il: 13/07/2017, 13:30
Città: Roma
Grazie Inviati: 20 volte
Grazie Ricevuti: 313 volte

Re: software per recuperare la lista giochi di Teknoparrot

Messaggio da Gothrek »

pucci ha scritto: 15/11/2022, 21:31 si, mi servirebbe ancora e penso sarebbe utile a molti.
ora sto facendo tutto a mano ma sono quasi 260 giochi... ed è facile sbagliare dei copia incolla
metto giu una bozza rozza e te la condivido.

non avendocelo e non usandolo, puoi darmi/mettermi a disposizione uno zip con i file xml/json cosi da simulare una struttura e verificarne il funzionamento?
Avatar utente
pucci
Moderatore
Moderatore
Messaggi: 4926
Iscritto il: 19/07/2005, 18:52
Città: San Clemente (RN)
Località: Rimini
Grazie Ricevuti: 69 volte

Re: software per recuperare la lista giochi di Teknoparrot

Messaggio da pucci »

Gothrek ha scritto: 16/11/2022, 9:06
pucci ha scritto: 15/11/2022, 21:31 si, mi servirebbe ancora e penso sarebbe utile a molti.
ora sto facendo tutto a mano ma sono quasi 260 giochi... ed è facile sbagliare dei copia incolla
metto giu una bozza rozza e te la condivido.

non avendocelo e non usandolo, puoi darmi/mettermi a disposizione uno zip con i file xml/json cosi da simulare una struttura e verificarne il funzionamento?
eccolo
TeknoParrot.zip
Non hai i permessi necessari per visualizzare i file allegati in questo messaggio.
Avatar utente
Gothrek
Moderatore
Moderatore
Messaggi: 5498
Iscritto il: 13/07/2017, 13:30
Città: Roma
Grazie Inviati: 20 volte
Grazie Ricevuti: 313 volte

Re: software per recuperare la lista giochi di Teknoparrot

Messaggio da Gothrek »

@pucci
non ho trovato la cartella Icons, questa dove dovrebbe stare? o se riesci a rimandare lo zip con alcuni esempi anche con quella per completare i test.

domande varie da ignorante:
1) l'app serve o deve poi modificare qualcosa o solo esportare? Non mi è chiara la finalità di avere un mero csv, dopo che lo hai ottenuto cosa ci fai?
questo per capire se posso eventualemtne fare/automatizzare qualcosa
2) la griglia deve essere editabile oppure esporta il risultato finale dell'import/ordinamento/filtro?
questo per capire come gestire la griglia
3) il risultato finale è utile a terzi? (ancor di piu' se editabile)
questo per capire se dare la possibilità di condivederlo con altri utenti
4) ci sono altre attività implementabili che possono essere utili? se si è il momento giusto per farlo
Avatar utente
pucci
Moderatore
Moderatore
Messaggi: 4926
Iscritto il: 19/07/2005, 18:52
Città: San Clemente (RN)
Località: Rimini
Grazie Ricevuti: 69 volte

Re: software per recuperare la lista giochi di Teknoparrot

Messaggio da pucci »

Gothrek ha scritto: 18/11/2022, 8:29 @pucci
non ho trovato la cartella Icons, questa dove dovrebbe stare? o se riesci a rimandare lo zip con alcuni esempi anche con quella per completare i test.

domande varie da ignorante:
1) l'app serve o deve poi modificare qualcosa o solo esportare? Non mi è chiara la finalità di avere un mero csv, dopo che lo hai ottenuto cosa ci fai?
questo per capire se posso eventualemtne fare/automatizzare qualcosa
2) la griglia deve essere editabile oppure esporta il risultato finale dell'import/ordinamento/filtro?
questo per capire come gestire la griglia
3) il risultato finale è utile a terzi? (ancor di piu' se editabile)
questo per capire se dare la possibilità di condivederlo con altri utenti
4) ci sono altre attività implementabili che possono essere utili? se si è il momento giusto per farlo
@Gothrek scusa il ritardo (settimana impegnativa al lavoro)

le icone non le ho allegate perchè troppo pesanti per il forum. le puoi scaricare dal GitHub ufficiale: https://github.com/teknogods/TeknoParrotUIThumbnails

1) l'app serve a evidenziare rapidamente informazioni errate o mancanti (ora lo sto facendo a mano con dei filtri su excel, ma ovviamente excel lo riempio a mano...)

2) secondo me basta non editabile, se la fai editabile va prevista una funzione di export che modifica il file originale (un pò complicato credo, considerando che le modifiche sono poche e si possono fare a mano)

3) secondo me è utile a chi vuole un riepilogo COMPLETO dei giochi Teknoparrot, già attivi ma anche in sviluppo
la lista del frontend di teknoparrot è troppo scarna e povera di informazioni

4) sinceramente non me ne vengono in mente. l'obiettivo è estrarre velocemente e in modo automatico molte informazioni presenti nel codice di Teknoparrot e non esposte dal suo frontend
Avatar utente
Gothrek
Moderatore
Moderatore
Messaggi: 5498
Iscritto il: 13/07/2017, 13:30
Città: Roma
Grazie Inviati: 20 volte
Grazie Ricevuti: 313 volte

Re: software per recuperare la lista giochi di Teknoparrot

Messaggio da Gothrek »

@pucci
quindi mi pare di capire che lanciato una volta puoi anche buttarlo al cesso corretto? (faccio sintesi :D)
in generale un programma che si usa oneshot ha poco senso.

cmq tanto per fare una prova ti allego una bozza al volo e il csv che mi ritorna fammi sapere se va bene
GothrEKnoList.zip
Export_20221121_214955.csv
istruzioni:
1) premi sui puntini a dx nella textbox per selezionare il path
2) premi export per esportare

il file sarà in una sottocartella log del programma.
Non hai i permessi necessari per visualizzare i file allegati in questo messaggio.
Avatar utente
pucci
Moderatore
Moderatore
Messaggi: 4926
Iscritto il: 19/07/2005, 18:52
Città: San Clemente (RN)
Località: Rimini
Grazie Ricevuti: 69 volte

Re: software per recuperare la lista giochi di Teknoparrot

Messaggio da pucci »

Non è un programma oneshot. Il codice di TeknoparrotUI cambia una volta a settimana.
Pucci - The Bastard Son of Arcade Italia
"MODerrare humanum est"
tutte le copertine di The Games Machine
non combatto guerre di intelligenza con gente disarmata
Avatar utente
Emu

Donatore
Affezionato
Affezionato
Messaggi: 264
Iscritto il: 30/11/2014, 13:00
Medaglie: 1
Città: ReggioEmilia

Re: software per recuperare la lista giochi di Teknoparrot

Messaggio da Emu »

Ciao Pucci
Negli ultimi anni ho latitato il forum per motivi personali, ma sperando di non fare un torto a Gothrek ho buttato giù uno script PowerShell che fa i check che hai chiesto, e volendo scarica pure le icone mancanti.
Per eseguirlo devi salvarlo come file di testo ed estensione .PS1, poi modifichi il path del tuo TecnoParrot e dovrrsti essere a posto. In alto ci sono alcune variabili che puoi modificare

Check-TeknoParrot-Resources.ps1:

Codice: Seleziona tutto


#############################################################################
### VARIABILI PERSONALIZZABILI ###
#############################################################################

# Specificare di seguito la directory dove si trova TP, terminando la stringa con "\"
$TeknoParrotFolder = "E:\Emulator\Arcade\TeknoParrot\"

# Per abilitare/disabilitare l'esportazione su CSV
$ExportCSV = $true

# Nome file CSV di Export, creato nella directory di TecnoParrot
$CSVExportFile = "GamesList.csv"

# Delimitatore usato nell'esportazione in CSV
$CSVDelim = ";"

# Per abilitare il download delle icone mancanti
$DownloadMissingIcons = $false

#############################################################################
### COSTANTI - NON TOCCARE ###
#############################################################################

# Estensione dei files delle icone
$IconExtension = "png"

# Questo è l'URL base per scaricarsi le icone, se si abilita il download
$IconsBaseURL = "https://raw.githubusercontent.com/teknogods/TeknoParrotUIThumbnails/master/Icons/"

#############################################################################
### MAIN ###
#############################################################################

# Leggo i files XML dei GamesProfiles
Write-Host "Lettura files XML dei GamesProfiles in" $($TeknoParrotFolder + "GameProfiles\") -ForegroundColor Cyan
$GamesProfiles = Get-ChildItem $($TeknoParrotFolder + "GameProfiles\*.xml")

# Creo l'array vuoto di giochi
$Games = @()

# Processo tutti i files della directory GamesProfiles
Write-Host "Processo i files XML dei GamesProfiles..." -ForegroundColor Cyan
foreach ($GameProfile in $GamesProfiles){
    # Leggo il file XML
    [xml]$GP = Get-Content $GameProfile.PSPath

    # Controllo se esiste il file JSON corrispondente al file XML del GP
    $DescriptionFilePath = $TeknoParrotFolder + "Descriptions\" + $GameProfile.BaseName + ".json"
    if (Test-Path $DescriptionFilePath){
        # Leggo il file JSON corrispondente al file XML del GP
        $Json = Get-Content $DescriptionFilePath

        $Description = $JSON | ConvertFrom-Json
    } else {
        Write-Host ""
        Write-Host "ATTENZIONE: File $DescriptionFilePath non presente!" -ForegroundColor Yellow
        $Description = @{
            platform = ""
            release_year = ""
            nvidia = ""
            nvidia_issues = ""
            amd = ""
            amd_issues = ""
            intel = ""
            intel_issues = ""
            general_issues = ""
        }
    }

    # Verifico se c'è il file con l'icona
    if ($GP.GameProfile.IconName.Length -gt 1){
        #$IconFilePath = $TeknoParrotFolder + "Icons\" + $GameProfile.BaseName + "." + $IconExtension
        $IconFilePath = $TeknoParrotFolder + $GP.GameProfile.IconName
        if (Test-Path $IconFilePath){
            $HasIcon = "Yes"
        } else {
            $HasIcon = "No"
            if ($DownloadMissingIcons){
                $IconName = $GP.GameProfile.IconName.Replace("Icons\","")
                Write-Host
                Write-Host "Download icona mancante $IconName" -ForegroundColor Magenta
                $IconURL = $IconsBaseURL + $IconName
                try {
                    $resp = Invoke-WebRequest -Uri $IconURL -UseBasicParsing -OutFile $IconFilePath
                }
                catch {
                    if( $_.Exception.Response.StatusCode.Value__ -eq 200 ) {
                        #Write-Host "Download OK!"-ForegroundColor Green
                    } elseif( $_.Exception.Response.StatusCode.Value__ -eq 404 ) {
                        Write-Host "ERRORE: File non presente all'URL $IconURL"-ForegroundColor Yellow
                    } else {
                        Write-Host "WARNING: Errore download file da verificare manualmente" -ForegroundColor Red
                    }
                }
                if (Test-Path $IconFilePath){
                    $HasIcon = "Yes"
                }
            }
        }
    }

    # Estraggo i campi interessanti e me li salvo in un nuovo oggetto
    $Game = [PSCustomObject][ordered]@{
        GameName = $GP.GameProfile.GameName
        GameGenre = $GP.GameProfile.GameGenre
        IconName = $GP.GameProfile.IconName
        EmulationProfile = $GP.GameProfile.EmulationProfile
        GameProfileRevision = $GP.GameProfile.GameProfileRevision
        Is64Bit = $GP.GameProfile.Is64Bit
        EmulatorType = $GP.GameProfile.EmulatorType
        DevOnly = $GP.GameProfile.DevOnly
        Patreon = $GP.GameProfile.Patreon
        ExecutableName = $GP.GameProfile.ExecutableName
        ExecutableName2 = $GP.GameProfile.ExecutableName2
        HasTwoExecutables = $GP.GameProfile.HasTwoExecutables

        platform = $Description.platform
        release_year = $Description.release_year
        nvidia = $Description.nvidia
        nvidia_issues = $Description.nvidia_issues
        amd = $Description.amd
        amd_issues = $Description.amd_issues
        intel = $Description.intel
        intel_issues = $Description.intel_issues
        general_issues = $Description.general_issues

        HasIcon = $HasIcon
    }

    # Aggiungo il record appena creato all'array
    $Games += $Game
    Write-Host "." -NoNewline
}

Write-Host
Write-Host

# Mostro i giochi a schermo
$Games | Out-GridView

# Esporto su CSV
if ($ExportCSV){
    Write-Host "Esportazione elenco giochi in" $($TeknoParrotFolder + $CSVExportFile) -ForegroundColor Cyan
    $Games | Export-Csv $($TeknoParrotFolder + $CSVExportFile) -Delimiter $CSVDelim -NoTypeInformation
}

Spero ti possa essere utile.

Per questo genere di attività preferisco degli script, perchè si possono modificare al volo in caso di qualche aggiornamento, e ti puoi fare script nuovi per esigenze analoghe tra diversi emulatori.

Emu
Emu
Avatar utente
pucci
Moderatore
Moderatore
Messaggi: 4926
Iscritto il: 19/07/2005, 18:52
Città: San Clemente (RN)
Località: Rimini
Grazie Ricevuti: 69 volte

Re: software per recuperare la lista giochi di Teknoparrot

Messaggio da pucci »

grazie ad entrambi, appena posso li provo
sto partendo per la Toscana (zona Pratomagno) per una notte di sopravvivenza
Avatar utente
pucci
Moderatore
Moderatore
Messaggi: 4926
Iscritto il: 19/07/2005, 18:52
Città: San Clemente (RN)
Località: Rimini
Grazie Ricevuti: 69 volte

Re: software per recuperare la lista giochi di Teknoparrot

Messaggio da pucci »

Gothrek ha scritto: 21/11/2022, 21:52 @pucci
quindi mi pare di capire che lanciato una volta puoi anche buttarlo al cesso corretto? (faccio sintesi :D)
in generale un programma che si usa oneshot ha poco senso.

cmq tanto per fare una prova ti allego una bozza al volo e il csv che mi ritorna fammi sapere se va bene

GothrEKnoList.zip
Export_20221121_214955.csv

istruzioni:
1) premi sui puntini a dx nella textbox per selezionare il path
2) premi export per esportare

il file sarà in una sottocartella log del programma.
ho dato una occhiata al file CSV, secondo me non ti ha popolato questi 2 campi:
ExecutableName ExecutableName2

forse sarebbe utile aggiungere qualche altro campo nell'estrazione dai file sorgente (appena posso guardo un pò dei file e ci ragiono
penso che una ottima feature sarebbe produrre anche un file che ti evidenzia le modifiche (dal file precedente) dei campi per i giochi già esistenti e i nuovi giochi aggiunti

inoltre (QUESTO E' MOLTO IMPORTANTE) mi deve segnalare se per qualche gioco manca il file Descriptions.json o l'icona

tutti i giochi hanno un gameprofile, ma ad alcuni mancano descriptions e icona
Avatar utente
Gothrek
Moderatore
Moderatore
Messaggi: 5498
Iscritto il: 13/07/2017, 13:30
Città: Roma
Grazie Inviati: 20 volte
Grazie Ricevuti: 313 volte

Re: software per recuperare la lista giochi di Teknoparrot

Messaggio da Gothrek »

pucci ha scritto: 22/11/2022, 7:58 ho dato una occhiata al file CSV, secondo me non ti ha popolato questi 2 campi:
ExecutableName ExecutableName2
verifico i file coi dati che mi hai passato
pucci ha scritto: 22/11/2022, 7:58 forse sarebbe utile aggiungere qualche altro campo nell'estrazione dai file sorgente (appena posso guardo un pò dei file e ci ragiono
attendo tue
pucci ha scritto: 22/11/2022, 7:58 penso che una ottima feature sarebbe produrre anche un file che ti evidenzia le modifiche (dal file precedente) dei campi per i giochi già esistenti e i nuovi giochi aggiunti
mi servono piu' specifiche, confrontare tutte le celle di 2 file csv, non è cosa banale in termini di tempo
pucci ha scritto: 22/11/2022, 7:58 inoltre (QUESTO E' MOLTO IMPORTANTE) mi deve segnalare se per qualche gioco manca il file Descriptions.json o l'icona
tutti i giochi hanno un gameprofile, ma ad alcuni mancano descriptions e icona
questo lo hai già, il campo HasIcon ti dice se il file esiste e la riga vuota di tutti i campi json equivale a file inesistente
Immagine 2022-11-22 081651.png
Allego nuova versione con fix punto1
GoThrEKnoList.zip
Non hai i permessi necessari per visualizzare i file allegati in questo messaggio.
Avatar utente
pucci
Moderatore
Moderatore
Messaggi: 4926
Iscritto il: 19/07/2005, 18:52
Città: San Clemente (RN)
Località: Rimini
Grazie Ricevuti: 69 volte

Re: software per recuperare la lista giochi di Teknoparrot

Messaggio da pucci »

grazie @Gothrek, alcune migliorie secondo me importanti:
- poter ridimensionare la finestra principale
- poter ridimensionare la larghezza delle colonne
- mettere una icona al software
Avatar utente
Gothrek
Moderatore
Moderatore
Messaggi: 5498
Iscritto il: 13/07/2017, 13:30
Città: Roma
Grazie Inviati: 20 volte
Grazie Ricevuti: 313 volte

Re: software per recuperare la lista giochi di Teknoparrot

Messaggio da Gothrek »

pucci ha scritto: 30/11/2022, 23:34 grazie @Gothrek, alcune migliorie secondo me importanti:
- poter ridimensionare la finestra principale
- poter ridimensionare la larghezza delle colonne
- mettere una icona al software
sulle ultime 2 lo faccio subito che sono relativamente brevi,
la prima la vedo piu' difficile, andrebbe gestito tutot un sistema di riposizionamento e ridimensionamento degli oggetti per cui non riesco a trovare il tempo, ma se hai una risoluzione specifica a cui preferiresti avere il software, quello lo posso fare con relativa velocità.
Avatar utente
pucci
Moderatore
Moderatore
Messaggi: 4926
Iscritto il: 19/07/2005, 18:52
Città: San Clemente (RN)
Località: Rimini
Grazie Ricevuti: 69 volte

Re: software per recuperare la lista giochi di Teknoparrot

Messaggio da pucci »

io lo imposterei ad una risoluzione classica per monitor HD (forse la più diffusa al momento): 1920x1200
Avatar utente
Gothrek
Moderatore
Moderatore
Messaggi: 5498
Iscritto il: 13/07/2017, 13:30
Città: Roma
Grazie Inviati: 20 volte
Grazie Ricevuti: 313 volte

Re: software per recuperare la lista giochi di Teknoparrot

Messaggio da Gothrek »

pucci ha scritto: 01/12/2022, 10:12 io lo imposterei ad una risoluzione classica per monitor HD (forse la più diffusa al momento): 1920x1200
Ho optato per un piu' classico 1920x1080
ho aggiunto l'icona e ora puoi modificare la grandezza delle colonne.

Dovrebbe esserci tutto.

Buon divertimento.
Non hai i permessi necessari per visualizzare i file allegati in questo messaggio.
Avatar utente
pucci
Moderatore
Moderatore
Messaggi: 4926
Iscritto il: 19/07/2005, 18:52
Città: San Clemente (RN)
Località: Rimini
Grazie Ricevuti: 69 volte

Re: software per recuperare la lista giochi di Teknoparrot

Messaggio da pucci »

altra funzione utile: dovrebbe ricordarsi dell'ultimo path TeknoParrot usato senza chiederlo tutte le volte
Avatar utente
Gothrek
Moderatore
Moderatore
Messaggi: 5498
Iscritto il: 13/07/2017, 13:30
Città: Roma
Grazie Inviati: 20 volte
Grazie Ricevuti: 313 volte

Re: software per recuperare la lista giochi di Teknoparrot

Messaggio da Gothrek »

pucci ha scritto: 01/12/2022, 14:04 altra funzione utile: dovrebbe ricordarsi dell'ultimo path TeknoParrot usato senza chiederlo tutte le volte
ziocan...tutte insieme no? :D

ne hai altre?

ma per capirne l'utilità, carica i dati, li esporti e poi successivamente? ricarichi i dati da zeri e li riesporti? a ricordare l'ultimo path ci metto un attimo ma sin dall'inizio non capisco il senso del software
Rispondi

Torna a “Miscellanea software”