Documentation

Programmations : commandes CLI

Définissez, prévisualisez, restaurez et effacez la programmation d’un écran, prenez le contrôle d’écrans un moment et importez des horaires d’une feuille.

Chaque commande s’exécute comme décrit dans la référence CLI : drapeaux globaux, sortie JSON, codes de sortie, révisions et réessais.

Programmations et prise de contrôle

Les campagnes d’un écran et les entrées d’horaire de sa liste de lecture sont les niveaux d’une même pile. Le serveur décide de ce que chaque écran diffuse en partant du haut : sa prise de contrôle, les campagnes qui l’atteignent (--priority d’abord, puis la plus récente), les entrées d’horaire propres à l’écran dans l’ordre, la liste de lecture affectée avec screen assign, puis la liste de lecture par défaut du dossier d’écrans le plus proche qui en définit une. Le premier niveau en vigueur est diffusé. Les changements se font à environ une minute d’une limite, et les Players n’ont besoin d’aucune mise à jour. Une feuille de lignes d’horaire pour plusieurs écrans s’importe en une seule étape : voir Importation d’horaires.

Un niveau est en vigueur tant que toutes ses règles le sont : from et until, windows hebdomadaires, règles monthly, dates, dates except, une condition data et une condition interaction. Une règle monthly est un day du mois (de 1 à 31 ; un mois sans ce jour l’ignore) ou le jour de semaine de rang nth (de 1 à 4, ou -1 pour le dernier) avec un weekday ; un élément dates est une seule date ; les deux acceptent des heures start et end facultatives et couvrent sinon la journée entière. Une date except retire toute occurrence qui commence ce jour-là, y compris les prolongements de nuit, et une occurrence de nuit appartient à la date où elle commence. data est {key, path?, equals?} et est en vigueur tant que ces données de carte existent ou égalent la valeur scalaire. interaction est {idle_s} (de 5 à 3600, 60 par défaut) : le niveau joue tant que quelqu’un utilise l’écran par toucher, clic ou touche et revient en arrière après idle_s secondes sans saisie, comme une page interactive au-dessus d’une boucle d’attraction. displays liste les sorties du mur vidéo (de 1 à 12) sur lesquelles le niveau joue. covers est full (la page, par défaut), main, ou header, footer ou side, un bandeau tracé sur la page qui exige une liste de lecture conçue pour cette zone ; voir bandeaux. start est next_item (par défaut), qui attend la fin de l’élément en cours, ou on_time, qui l’interrompt à l’instant exact. Un Player qui résout sa propre pile joue les niveaux interaction, data, bandeau et displays ; campaign explain rapporte le niveau pour tout autre Player comme off avec la raison stack_only (nécessite un Player qui résout sa propre pile).

screen show, screen list, et les écritures d’horaire et de prise de contrôle ci-dessous retournent effective_playlist ({id, source, entry_id?, until?}, où source est takeover, campaign, schedule, default ou folder), takeover et playlist_schedule. entry_id est l’identifiant de campagne pour campaign, l’identifiant d’entrée pour schedule et l’identifiant de dossier pour folder. until est le prochain moment où le choix est connu pour changer. screen show --human l’imprime dans le fuseau horaire de l’écran, comme dans Assigned: pl_LUNCH (schedule entry lunch until 2026-08-14 15:00 America/Los_Angeles) ou Assigned: pl_LUNCH (campaign cmp_LUNCH until 2026-08-14 15:00 America/Los_Angeles) (UTC, étiqueté, quand l’écran n’a pas de zone) ; la sortie JSON conserve les instants RFC 3339. Les tableaux horaires humains sont étiquetés avec le fuseau horaire de l’écran, et screen list --human ajoute une colonne ASSIGNED quand un écran listé joue autre chose que sa liste de lecture par défaut.

Code de problèmeSortieSens
invalid_request8L’écran n’a pas de liste de lecture par défaut assignée (next est screen assign), ou une liste de lecture nommée ne peut pas être assignée.
screen_archived5Un écran archivé refuse les horaires et prises de contrôle. next est screen unarchive.
revision_conflict6La révision --expect-rev était périmée.
playlist_format_mismatch5Le format d’une liste de lecture ne correspond pas à l’écran : une liste de lecture de mur sur un écran dont le mur a une autre forme, ou une entrée de bandeau (covers header, footer ou side) qui ne s’adapte à aucun affichage de l’écran.
feature_not_in_plan8Le forfait n’inclut pas la fonctionnalité qu’utilise une nouvelle entrée : le contrôle des changements d’horaire pour une nouvelle entrée paused, les murs vidéo pour displays désignant l’affichage 2 ou au-delà. Tarification liste les forfaits.
rate_limited7La programmation et les prises de contrôle partagent les limites d’écriture par minute : 600 par organisation, 20 par écran et 60 par IP. Attendez retry_after_seconds.

Avec un identifiant d’écran, ces commandes retournent l’écran mis à jour et --expect-rev protège sa révision. Plusieurs identifiants, --tag TAG ou --folder ID (chaque écran actif de ce dossier d’écrans et de chaque dossier qu’il contient) s’exécutent comme une seule requête de flotte avec l’enveloppe et les règles de sortie de la flotte ; chaque écran échoue seul, et le CLI fait automatiquement pause et reprise lorsque le budget du projet est épuisé. Avec l’accès Propose, ou dans un projet qui exige une révision des changements des agents, une écriture sur un écran ou sur toute la sélection de la flotte répond pending_review : la commande réussit (sortie 0) avec data.review et un avertissement pending_review, data.next est screenrig reviews show ID, et rien ne change à l’écran avant qu’une personne l’approuve ; ne répétez donc pas l’écriture. --note explique la raison à la personne qui examine le changement ; voir Révisions. Sur un écran d’un dossier protégé, l’écriture attend un second approbateur à tous les niveaux d’accès.

screen schedule show#

Afficher l’horaire de la liste de lecture d’un écran et la liste qu’il sélectionne actuellement.

screen schedule show <id>
ParamètreTypeRequisPar défautNotes
<id>stringouiaucunL’identifiant d’écran scr_.
screenrig screen schedule show scr_CAFE

data contient entries (vide lorsque l’écran n’a pas d’horaire), updated_at et effective_playlist. La sortie JSON peut être renvoyée directement à screen schedule set --file.

screen schedule set#

Remplacer la programmation de la liste de lecture sur un écran ou une flotte.

screen schedule set (<id>... | --tag TAG | --folder ID) --file FILE [--expect-rev REVISION] [--note TEXT]
ParamètreTypeRequisPar défautNotes
<id>...stringl’un de <id>, --tag ou --folderaucunUn ou plusieurs ID d’écran scr_. Plusieurs IDs s’exécutent comme une seule requête de flotte.
--tag TAGstringl’un de <id>, --tag ou --folderaucunChaque écran actif portant cette étiquette.
--folder IDstringl’un de <id>, --tag ou --folderaucunChaque écran actif de ce dossier d’écrans sfd_ et des dossiers qu’il contient.
--file FILEcheminouiaucunLe document d’horaire, ou - pour stdin. Le JSON de screen schedule show est accepté en retour.
--expect-rev REVISIONstringnonaucunUn seul ID d’écran. Condition de révision optionnelle.
--note TEXTstringnonaucunUne note pour la personne qui révise la modification : texte brut, au maximum 280 caractères. Ignorée lorsque la modification s’applique immédiatement.
screenrig screen schedule set scr_CAFE --file dayparts.json
screenrig screen schedule set --tag Cafe --file dayparts.json
screenrig screen schedule set --folder sfd_01EXAMPLEFOLDER000000000 --file dayparts.json

Chaque liste de lecture nommée dans un horaire est validée comme une affectation, et l’écran a besoin d’une liste de lecture par défaut assignée. Les heures des entrées sont lues dans le fuseau horaire propre à l’écran. Quand aucune entrée n’est en vigueur, la liste de lecture assignée est jouée. Si une liste de lecture programmée ne peut plus être affichée, ses entrées sont ignorées et screen.playlist_unavailable est enregistré.

screen schedule clear#

Supprimer la programmation de la liste de lecture d’un écran ou d’une flotte.

screen schedule clear (<id>... | --tag TAG | --folder ID) [--expect-rev REVISION] [--note TEXT]
ParamètreTypeRequisPar défautNotes
<id>...stringl’un de <id>, --tag ou --folderaucunUn ou plusieurs ID d’écran scr_. Plusieurs IDs s’exécutent comme une seule requête de flotte.
--tag TAGstringl’un de <id>, --tag ou --folderaucunChaque écran actif portant cette étiquette.
--folder IDstringl’un de <id>, --tag ou --folderaucunChaque écran actif de ce dossier d’écrans sfd_ et des dossiers qu’il contient.
--expect-rev REVISIONstringnonaucunUn seul ID d’écran. Condition de révision optionnelle.
--note TEXTstringnonaucunUne note pour la personne qui révise la modification : texte brut, au maximum 280 caractères. Ignorée lorsque la modification s’applique immédiatement.
screenrig screen schedule clear --tag Cafe

Ensuite, ce qui joue est la prise de contrôle, sinon une campagne qui s’applique, sinon la liste de lecture affectée. Un écran sans horaire répond sans changement.

screen schedule preview#

Montrer ce que changerait le remplacement de l’horaire de listes de lecture d’un écran, sans le faire.

screen schedule preview <id> --file FILE [--calendar-from INSTANT] [--calendar-to INSTANT]
ParamètreTypeRequisPar défautNotes
<id>stringouiaucunL’identifiant d’écran scr_.
--file FILEcheminouiaucunLe document d’horaire tel que screen schedule set le prend, ou - pour stdin. Le JSON de screen schedule show est accepté en retour.
--calendar-from INSTANTstringnonmaintenantCommencer les calendriers à cet instant avec fuseau, tel que 2026-12-01T00:00:00Z.
--calendar-to INSTANTstringnonune semaine après le débutTerminer les calendriers à cet instant avec fuseau, au plus 93 jours après le début.
screenrig screen schedule preview scr_LOBBY --file dayparts.json
screenrig screen schedule preview scr_LOBBY --file dayparts.json --calendar-from 2026-12-01T00:00:00Z --calendar-to 2027-01-01T00:00:00Z

Rien n’est écrit. Les entrées sont vérifiées comme les vérifie screen schedule set, donc un aperçu refuse ce que refuse le set. data.gained et data.lost, chacun {count, screen_ids}, disent si l’écran gagnerait ou perdrait des niveaux de son horaire ; une entrée avec "paused": true n’est sur aucun écran, donc la publier la gagne. data.calendar.before et data.calendar.after sont le calendrier de l’écran tel qu’il est et tel qu’il serait de --calendar-from à --calendar-to.

screen schedule revisions#

Lister les révisions de l’horaire de listes de lecture d’un écran, la plus récente d’abord.

screen schedule revisions <id> [--after CURSOR]
ParamètreTypeRequisPar défautNotes
<id>stringouiaucunL’identifiant d’écran scr_.
--after CURSORstringnonla première pageReprendre à partir du data.next_cursor de la page précédente.
screenrig screen schedule revisions scr_LOBBY
screenrig screen schedule revisions scr_LOBBY --after CURSOR

data.items contient au plus 50 révisions, chacune avec revision (la révision de l’écran à l’écriture, d’où des trous dans les numéros là où l’écran a changé autrement), created_at, change, current, author lorsqu’il est connu et entries, l’horaire complet après cette écriture (none signifie que l’écran n’avait pas d’horaire). change est edited (un set, un clear ou une importation d’horaire), restored (une copie de la révision antérieure que nomme restored_from) ou baseline (l’horaire que l’écran avait au début de son historique). Tant que data.next_cursor est une chaîne, des révisions plus anciennes restent : relancez la commande avec --after réglé à cette valeur. Les révisions partent avec la purge de l’écran. L’accès en lecture seule suffit.

screen schedule restore#

Remettre sur un écran l’horaire d’une révision antérieure en le copiant vers l’avant.

screen schedule restore <id> --revision N [--expect-rev REVISION] [--note TEXT]
ParamètreTypeRequisPar défautNotes
<id>stringouiaucunL’identifiant d’écran scr_.
--revision NintegerouiaucunLa révision à copier vers l’avant, telle que screen schedule revisions la numérote.
--expect-rev REVISIONstringnonla révision qui vient d’être lueExiger cette révision courante de l’écran, et non N. Sans elle, le CLI lit l’écran juste avant l’écriture et envoie cette révision ; un changement entre-temps donne revision_conflict (sortie 6).
--note TEXTstringnonaucunUne note pour la personne qui révise la modification : texte brut, au maximum 280 caractères. Ignorée lorsque la modification s’applique immédiatement.
screenrig screen schedule restore scr_LOBBY --revision 4
screenrig screen schedule restore scr_LOBBY --revision 4 --expect-rev 9

Les entrées de la révision N deviennent l’horaire de l’écran, la même écriture que screen schedule set avec ces entrées (ou screen schedule clear si cette révision n’en avait aucune), vérifiées comme elles le sont maintenant : une liste de lecture supprimée depuis la refuse. Avec l’accès Propose, ou dans un projet qui exige une révision des changements des agents, la restauration attend une personne comme le set, et rien ne change à l’écran avant qu’elle l’approuve. Les révisions antérieures restent telles quelles.

screen takeover#

Afficher une liste de lecture sur un écran ou une flotte avant les campagnes, l’horaire et l’affectation.

screen takeover [set] (<id>... | --tag TAG | --folder ID) --playlist-id ID [--until TIME | --for DURATION] [--reason TEXT] [--expect-rev REVISION] [--note TEXT]
ParamètreTypeRequisPar défautNotes
<id>...stringl’un de <id>, --tag ou --folderaucunUn ou plusieurs ID d’écran scr_. Plusieurs IDs s’exécutent comme une seule requête de flotte.
--tag TAGstringl’un de <id>, --tag ou --folderaucunChaque écran actif portant cette étiquette.
--folder IDstringl’un de <id>, --tag ou --folderaucunChaque écran actif de ce dossier d’écrans sfd_ et des dossiers qu’il contient.
--playlist-id IDstringouiaucunLa playlist pl_ à afficher.
--until TIMEstringnonretenu jusqu’à libérationUn instant RFC 3339 strict avec secondes et décalage, sous la forme YYYY-MM-DDTHH:MM:SSZ ou YYYY-MM-DDTHH:MM:SS-07:00, envoyé normalisé en UTC ; strictement dans le futur et au plus 7 jours à l’avance. Ou none pour tenir jusqu’à screen takeover clear.
--for DURATIONstringnonretenu jusqu’à libération30m, 2h, ou 3d, jusqu’à 6d23h59m, converti en until depuis l’horloge de cet ordinateur. 7d est refusé localement ; utilisez --until pour une durée complète de 7 jours. Pas avec --until.
--reason TEXTstringnonaucunUne note d’opérateur sur la prise de contrôle et ses événements. Raccourcie, au maximum 120 caractères, sans caractères de contrôle.
--expect-rev REVISIONstringnonaucunUn seul ID d’écran. Condition de révision optionnelle.
--note TEXTstringnonaucunUne note pour la personne qui révise la modification : texte brut, au maximum 280 caractères. Ignorée lorsque la modification s’applique immédiatement.
screenrig screen takeover scr_LOBBY --playlist-id pl_DRILL --for 30m --reason "Fire drill"
screenrig screen takeover --tag Lobby --playlist-id pl_LAUNCH --for 2h
screenrig screen takeover --folder sfd_01EXAMPLEFOLDER000000000 --playlist-id pl_LAUNCH --for 2h
screenrig screen takeover scr_A scr_B --playlist-id pl_NOTICE --until none

screen takeover ID est l’abréviation de screen takeover set ID. Une nouvelle prise de contrôle remplace la précédente, sauf la même liste de lecture publiée de nouveau pendant que sa prise de contrôle est en vigueur, sans --reason ou avec la même valeur, qui conserve cette prise de contrôle et ne fait que déplacer sa fin. Lorsqu’elle se termine, l’écran revient automatiquement à une campagne en vigueur, à son horaire ou à sa liste de lecture assignée. Une prise de contrôle dont la liste de lecture ne peut être affichée se termine. Une relance --for après un échec ambigu calcule une nouvelle fin et est envoyée comme une nouvelle requête.

screen takeover clear#

Terminer la prise de contrôle sur un écran ou une flotte.

screen takeover clear (<id>... | --tag TAG | --folder ID) [--expect-rev REVISION] [--note TEXT]
ParamètreTypeRequisPar défautNotes
<id>...stringl’un de <id>, --tag ou --folderaucunUn ou plusieurs ID d’écran scr_. Plusieurs IDs s’exécutent comme une seule requête de flotte.
--tag TAGstringl’un de <id>, --tag ou --folderaucunChaque écran actif portant cette étiquette.
--folder IDstringl’un de <id>, --tag ou --folderaucunChaque écran actif de ce dossier d’écrans sfd_ et des dossiers qu’il contient.
--expect-rev REVISIONstringnonaucunUn seul ID d’écran. Condition de révision optionnelle.
--note TEXTstringnonaucunUne note pour la personne qui révise la modification : texte brut, au maximum 280 caractères. Ignorée lorsque la modification s’applique immédiatement.
screenrig screen takeover clear --tag Lobby

Ce qui joue ensuite est une campagne qui s’applique, sinon l’horaire, sinon la liste de lecture affectée. Un écran sans prise de contrôle répond sans changement.

Le fichier d’horaire

Un horaire liste de 1 à 32 entrées par ordre de priorité ; la première entrée en vigueur l’emporte. Une entrée nomme un playlist_id et définit au moins une règle d’un niveau : windows, monthly, dates, except, data, interaction, from ou until, et facultativement displays, covers, start et paused. windows compte de 1 à 16 éléments dans le fuseau horaire de l’écran : days utilise mon à sun, et start et end sont HH:MM ; omettre les deux pour toute la journée. Un end à ou avant start traverse minuit et appartient au jour de début. monthly compte de 1 à 16 éléments, et dates et except de 1 à 100 chacun, avec une date except une seule fois. Le serveur refuse une date except en dehors de from et until, un élément dates qui commence en dehors de ces bornes, et un élément dates qui est aussi une date except. from (inclusif) et until (exclusif) sont facultatifs et sont des minutes civiles telles que 2026-12-24T18:00, sans décalage ; from précède until. covers est full (par défaut), main, header, footer ou side, displays liste de 1 à 12 sorties différentes, et start est next_item (par défaut) ou on_time, comme dans les règles de niveau ci-dessus. Un id compte de 1 à 64 lettres, chiffres, - ou _, et n’est utilisé qu’une fois ; un id omis devient entry_N. Une entrée avec "paused": true est un brouillon : elle n’est dans la pile d’aucun écran, screen schedule show la marque et le calendrier la dessine en pointillés. Renvoyez l’horaire sans paused pour la publier. Le CLI vérifie cette forme avant d’envoyer quoi que ce soit. Tranches horaires petit-déjeuner, déjeuner et dîner :

{
  "entries": [
    { "id": "breakfast", "playlist_id": "pl_BREAKFAST",
      "windows": [{ "days": ["mon", "tue", "wed", "thu", "fri"], "start": "06:00", "end": "11:00" },
                  { "days": ["sat", "sun"], "start": "08:00", "end": "12:00" }] },
    { "id": "lunch", "playlist_id": "pl_LUNCH",
      "windows": [{ "days": ["mon", "tue", "wed", "thu", "fri"], "start": "11:00", "end": "15:00" }] },
    { "id": "dinner", "playlist_id": "pl_DINNER",
      "windows": [{ "days": ["mon", "tue", "wed", "thu", "fri", "sat", "sun"], "start": "17:00", "end": "22:00" }] }
  ]
}

Un menu qui joue tant que quelqu’un utilise l’écran, au-dessus d’un brunch du premier dimanche qui saute une date :

{
  "entries": [
    { "id": "browse", "playlist_id": "pl_MENU", "interaction": { "idle_s": 90 } },
    { "id": "brunch", "playlist_id": "pl_BRUNCH",
      "monthly": [{ "nth": 1, "weekday": "sun", "start": "10:00", "end": "14:00" }],
      "except": ["2026-12-06"] }
  ]
}

Une programmation de liste de lecture choisit entre des listes de lecture ; la page visibility à l’intérieur d’une liste choisit encore entre ses pages.

Événements de programmation et de prise de contrôle

events list et events follow impriment screen.playlist_switched (playlist_id, previous_playlist_id, source, entry_id, until), screen.takeover_started (playlist_id, until, où none signifie retenu jusqu’à effacement, et reason), screen.takeover_updated (playlist_id, until, previous_until et reason, où none signifie retenu jusqu’à effacement : la même prise de contrôle dotée d’une nouvelle fin), screen.takeover_ended (playlist_id, until s’il y en avait une, et reason expired, cleared, replaced, playlist_deleted ou playlist_unavailable), et l’avertissement screen.playlist_unavailable (playlist_id, code playlist_deleted ou playlist_unavailable, et les entry_ids, campaign_ids ou folder_id qui nomment la liste de lecture).

La suppression d’une liste de lecture échoue avec resource_conflict (sortie 5) tant qu’un écran, archivé ou non, l’a affectée, nommée par une entrée d’horaire, détenue par une prise de contrôle ou effective, ou tant qu’une campagne ou la liste par défaut d’un dossier d’écrans la nomme. next pointe vers screen list.

Importation d’horaires

schedule import lit une feuille de lignes d’horaire (écran, fichier, début, fin), vérifie chaque ligne par rapport au projet, présente un aperçu des niveaux qu’elle crée et de l’effet sur le calendrier, et avec --commit applique tout ou rien. schedule template enregistre une feuille pour démarrer. L’importation d’horaires décrit les colonnes, les cibles, les heures et les erreurs de ligne. L’horaire propre à un seul écran se définit avec screen schedule set, et une campagne programme une audience.

L’aperçu et la validation relèvent de Premium et des forfaits supérieurs : un forfait sans importation d’horaires répond feature_not_in_plan (sortie 8), et le modèle est ouvert à tous les forfaits. L’aperçu et la validation ne sont pas disponibles pour un appelant limité à des dossiers d’écrans (outside_screen_scope, sortie 3).

schedule import#

Vérifie une feuille de lignes d’horaire et présente un aperçu de ce qu’elle fait ; --commit l’applique.

schedule import <file> [--name NAME] [--timezone ZONE] [--code-field FIELD] [--commit]
ParamètreTypeRequisPar défautNotes
<file>cheminouiaucunUne feuille .csv (UTF-8), .xlsx (sa première feuille) ou .json, ou - pour lire des lignes JSON, du texte CSV ou un classeur XLSX depuis l’entrée standard. Une feuille JSON est un tableau d’objets de ligne ou {"rows": [...]}, indexés par nom de colonne. Au plus 5 000 lignes et 8 Mio.
--name NAMEstringnonle nom du fichier sans son extensionNom de l’importation, de 1 à 80 caractères. Réimporter sous le même nom met à jour les niveaux créés, supprime les niveaux dont les lignes ont disparu et laisse inchangée une feuille identique.
--timezone ZONEstringnonl’horloge propre à chaque écranLa zone IANA, comme America/New_York, dans laquelle sont écrites les heures d’une ligne quand la ligne n’a pas de cellule timezone.
--code-field FIELDstringnonn’importe quel champLit le code d’écran d’une cible uniquement dans ce champ d’écran, par exemple code ou room_id.
--commitbooleannondésactivéApplique l’importation quand l’aperçu est valide. Avec des erreurs de ligne, rien n’est écrit.
screenrig schedule import schedule.csv
screenrig schedule import schedule.xlsx --name "Spring promos" --timezone America/Los_Angeles
screenrig schedule import schedule.csv --name "Spring promos" --commit
screenrig schedule import rows.json --code-field room_id
screenrig schedule import - --name "Spring promos" --commit

Sans --commit, rien n’est écrit. data est l’aperçu : valid, fingerprint, summary (rows, rows_with_errors, levels, creates, updates, unchanged, removes, screens, playlists), rows, levels, removals et calendar, ignored_columns pour une colonne que rien ne lit, et next, la commande qui valide. Les lignes qui concordent sur le contenu, les heures, la priorité et le nom forment un seul niveau : un écran est une entrée de l’horaire propre à cet écran, et plusieurs écrans, un dossier ou une étiquette forment un niveau partagé, une campagne qui l’emporte sur les niveaux propres d’un écran.

Une feuille valide se termine avec 0. Des lignes avec erreurs se terminent avec 8 et data.valid false : data.rows[].errors nomme la colonne et le code de chaque cellule, rien n’est écrit, --commit ne valide rien, et la même commande se relance une fois les lignes corrigées.

Avec --commit, l’exécution envoie le fingerprint de l’aperçu et une clé d’idempotence dérivée du nom et de l’empreinte, donc relancer une commande identique interrompue est sans risque. data est alors l’aperçu plus data.applied (creates, updates, unchanged, removes, screens, playlists) et data.committed true, et les listes de lecture à un fichier dont les fichiers de la feuille ont besoin sont créées d’abord. Toutes les lignes s’appliquent ou aucune. Un projet qui a changé depuis l’aperçu, ou des lignes qui se lisent autrement, donne schedule_import_stale (sortie 5) : rien n’a été écrit, et la même commande refait un aperçu. Une validation qui atteint un écran d’un dossier protégé est refusée en entier avec protected_target (sortie 5), et celle qui modifie ou supprime une campagne réservée répond reserved_item (sortie 3) sauf si une personne pouvant approuver la valide. L’aperçu exige l’accès Lecture seule, et --commit exige l’accès Gérer. Un fichier que la CLI ne peut pas lire donne usage_error (sortie 2).

schedule template#

Enregistre une feuille avec les colonnes que lit une importation d’horaires et trois lignes d’exemple.

schedule template [--format csv|xlsx] [--output FILE] [--overwrite]
ParamètreTypeRequisPar défautNotes
--format FORMATstringnoncsvcsv ou xlsx.
--output FILEcheminpour xlsxafficher le CSVÉcrit la feuille dans ce fichier. Sans lui, le CSV est affiché et data.content le contient.
--overwritebooleannondésactivéRemplace --output s’il existe. Il exige --output.
screenrig schedule template
screenrig schedule template --output schedule.csv
screenrig schedule template --format xlsx --output schedule.xlsx --overwrite

Les lignes d’exemple sont un code d’écran, un dossier d’écrans et une étiquette. Avec --output, data contient format, output, bytes et next, la commande schedule import pour le fichier enregistré. Un fichier --output existant et non vide échoue avec usage_error (sortie 2) et reste tel quel sauf si --overwrite est passé. Remplissez une ligne par écran et par fichier, puis lancez schedule import FILE pour en voir l’aperçu.

Autres groupes de commandes