Ontwikkeling
Hoe kan ik afbeeldingen herstellen voor een Shopify product dat je per ongeluk hebt overschreven met een CSV bestand?
Probleem: (verkeerde behandeling van CSV-bestanden) Gisteren wilde ik producten in bulk bewerken in Shopify, en de verkoper wijzigen. Ik gebruikte LibreOffice om alleen de rijen te selecteren met de leverancier erin, werkte deze bij, en uploadde alleen deze bijgewerkte rijen als een nieuwe CSV naar Shopify. Het resultaat was dat Shopify veel varianten liet vallen, en...
WeiterlesenVuetify :: Open detail rij programmatisch
Voor de aankomende PiCockpit v2.0 release, ben ik een GPIO applicatie aan het voorbereiden. De GPIO entries zijn tabel rijen - en om ze te configureren, willen we in staat zijn om de detail rij te openen door te klikken op de configureer knop: klikken op ofwel de chevron of de configureer knop zal leiden tot het openen van de detail rij: Hier...
Weiterlesenin- en uitschakelen van een systemd service in Python met behulp van DBus
De komende picockpit-client reageert op verwijderingsgebeurtenissen van de frontend door zijn service uit te schakelen (de applicatie blijft echter wel geïnstalleerd). Op dezelfde manier, wanneer je beslist om picockpit-client connect opnieuw te starten, zal de service opnieuw ingeschakeld worden en automatisch voor je opgestart worden. Dit is mogelijk door gebruik te maken van de Python DBus interface. De DBus is een bussysteem voor interactie...
WeiterlesenHoe unieke object ids in te stellen in ingesloten documenten in een MongoDB collectie
updateMany van MongoDB kan gebruikt worden om alle documenten die overeenkomen bij te werken. Probleem Als, echter, je wilt unieke nieuwe ObjectID's in te stellen in uw update, zou je merken dat MongoDB stelt dezelfde ObjectID voor elk item: db.getCollection('mypis_collectedpis').updateMany({}, {$set: {apps: {"com.picockpit/core": {meta: {versie: "2.0", naam: "PiCockpit Core", image: "", description: "PiCockpit.com...
Weiterlesenoverschakelen van JSON naar MsgPack op een achterwaartse compatibele manier met Paho MQTT (JavaScript)
picockpit.com maakt veel gebruik van MQTT. Voor de komende versie 2.0 heb ik besloten om over te schakelen naar MsgPack. Waarom MsgPack? MsgPack (eigenlijk MessagePack genoemd - packages gebruiken meestal MsgPack) is een binair formaat, gericht op compatibiliteit met JSON, maar vermindert de bestandsgrootte (wat goed is voor het besparen van bandbreedte & server resources). Een ander voordeel:...
Weiterlesenenvoy fix voor het serveren van grote bestanden van de backend / timeouts / afgebroken downloads
Klanten klaagden over het niet kunnen downloaden van grote bestanden van onze websites (b.v. PiDoctor op PiCockpit.com). In eerste instantie kon ik het probleem niet lokaal repliceren, de bestanden leken goed te downloaden. Na verder onderzoek stelde ik vast dat de downloads na een bepaalde tijd afbraken - afhankelijk van uw download snelheid, dus,...
WeiterlesenOmgaan met NIL in JSON::Any in Crystal Lang
Een van de uitdagingen bij het ontwikkelen met Crystal is dat het niet zo vergevingsgezind is met betrekking tot datatypes als, laten we zeggen, Python of Ruby. nil zal je bezig houden. De volgende foutmelding: cast from Nil to String failed, in /usr/share/crystal/src/json/any.cr:220:5:220 kan opgelost worden door: # cast naar string, DAN controleren of het nil is als...
WeiterlesenChromium exit code -5
Terwijl het uitvoeren van Chromium met chromium-browser -display=:0 https://www.picockpit.com u in staat stelt om Chromium te starten vanaf een SSH-verbinding (en het zal uitvoer geven naar het hoofdscherm in de X Server), zal dit mislukken wanneer u het probeert uit te voeren met subprocess.Popen in Python: "command": ["chromium-browser", "-display=:0", "https://picockpit.com"] (dit is een deel van het JSON formaat dat ik heb...
Weiterlesenbeveiligde commando uitvoering met Python: subprocess.Popen
Beveiliging is belangrijk voor mij tijdens het ontwikkelen van de picockpit-client. Het volgende is van toepassing op Linux systemen (maar is waarschijnlijk van toepassing op alle Unix-achtige systemen, inclusief macOS) Python maakt het mogelijk om externe commando's uit te voeren met behulp van de subprocess module. importeer subprocess In de komende versie van PiCockpit, zullen gebruikers in staat zijn om hun eigen knoppen te maken (gewoon bewerken...
Weiterlesen