def report_start(self, meta: GitMeta) -> None: """ Get scan id and file ignores returns name of policy used to scan """ debug_echo(f"=== reporting start to semgrep app at {self.url}") response = self.session.post( f"{self.url}/api/agent/deployment/{self.deployment_id}/scan", json={"meta": meta.to_dict()}, timeout=30, ) debug_echo(f"=== POST .../scan responded: {response!r}") if response.status_code == 404: raise ActionFailure( "Failed to create a scan with given token and deployment_id." "Please make sure they have been set correctly." f"API server at {self.url} returned this response: {response.text}" ) try: response.raise_for_status() except requests.RequestException: raise ActionFailure( f"API server at {self.url} returned this error: {response.text}" ) else: body = response.json() self.scan = Scan( id=glom(body, T["scan"]["id"]), ignore_patterns=glom( body, T["scan"]["meta"].get("ignored_files", [])), policy_list=glom(body, T["policy"]), autofix=glom(body, T.get("autofix", False)), ) debug_echo(f"=== Our scan object is: {self.scan!r}")
from io import BytesIO import pandas as pd from django.core.mail import EmailMessage, get_connection from django.core.management.base import BaseCommand from django.utils import timezone from glom import Coalesce, T, glom from agir.lib.management_utils import month_argument, month_range, email_argument from agir.payments.models import Payment from agir.system_pay.models import SystemPayTransaction FILE_DESC = { "Code_uuid": ( "systempaytransaction_set", T.get(status=SystemPayTransaction.STATUS_COMPLETED), "uuid", T.hex, ), "No_abonnement": "subscription.id", "Email": Coalesce("person.email", "email"), "Nom": Coalesce("person.last_name", "subscription.meta.last_name"), "Prénom": Coalesce( "person.first_name", "subscription.meta.first_name", skip=("",), default="" ), "No_et_Voie": Coalesce( "person.location_address1", "subscription.meta.location_address1", skip=("",), default="", ),