From 6f78225559d8d687956c1a26966df917b58b42bd Mon Sep 17 00:00:00 2001 From: Dirk Alders Date: Tue, 12 Aug 2025 15:51:35 +0200 Subject: [PATCH] Initial py specification --- _requirements_/specification.pdf | Bin 0 -> 68786 bytes _requirements_/specification.py | 82 +++++++++++++++++++++++++++++++ 2 files changed, 82 insertions(+) create mode 100644 _requirements_/specification.pdf create mode 100644 _requirements_/specification.py diff --git a/_requirements_/specification.pdf b/_requirements_/specification.pdf new file mode 100644 index 0000000000000000000000000000000000000000..23ded809db00c2b677725918af8137b3afd910d4 GIT binary patch literal 68786 zcma&NW2`Vhv!How+qP}%J+^Jzwr$(CZQHhOW4_tlJK5w;GSk1R>t9!@QtF3PUPO$R zk&YdTbbfhc9g2mKfPuiy&=QJ=2Z~;+N#`_AC>b53tW*?__sQga5tolzHtG$G2!bUEVo$Ahp;GZ3q|~*E zBIccz#;`yMR5d5VVllC;+ZHN~cpD$~c)Aw_?(y!4Xyh0hWCL<*C3AfAhXQj@Cbq`^ z-z)wj{Z9+9G5mK^urf0IUz_44P0ntM0Auv-0|n;+5Qx4G@UERIL$xN1wAY1OoppkS z)<9|p_w@oi)c66d;%m)P#gh@@Xe=%dzb*z;16fd4287;-9!L0Zczw!~DTi8^O4nk( zSQil?)rw^p<5)GJlXT7bfN#%*yUk&%S6`B{^IMsretF0FE_gVr^zNH2SFn?c+KNO}c_D%ngjXp$sWXSNOlVX(IXLvyNbN3TVe@4aX}l&%ob z1`o-Kf-8*7L`!8L{zytN&1_LOKz`K5RuE6B!fz0MptVwUkKE1X3*}4@AQ_?b5g|2U zu5FOY3;7yu9h4)kc!2an+}aRgSUn5XZ~!Al4>+44Ovb~NOp~i0IEF6>4CX!do^fMU z&R+3uca+pFmAfYnUROt+SM^aq@Me-fBV>vMO%^?&3*|%fp;!OdH!M>amVyye`b6<3 zwj^=S1AtV1&9*x-(7H=>m2LjI;&!A!8tF=9=lI4Q8QoA$##8SQ&_Z;R5MEkW1@P(OxniTx6+G^-d&|k%Z+IW0#Tn=ChGR-O5v|ihIX>fj`a_6 z2LH7B?sWTvTT|WBo1JY6$Ky;pS)!J@sQp)g#_iflwY>I8mZe78Z%WhDwao*Ruf`|| zqN3AX`~D~bosBAlRPo|@-V793%f#L8uY$bfMqQJTW|m)hr=y0ei8cX;;V>mCj>3I@ zcng~+!7g|a%ir_s(LmS}pDOHi`l-}=2!>A3+SsIU@e9QyfFZ=-fvg0~Beo%y4p6le zOLLWDkC?KXO52{z!gdW6jn}Jh7O_7f8c6dVfN<$0N*d0DNW` zhd~tcJw_0ulFX=xzhI9|mtz+I7rJD6u14V)=sPh%O3MTk30EyFGGHlH4!sZoM)l+k z6Q)!*4$|nISkt%f-U#GX>%f9i�ifIX1ps8i)AC8vmP=36CPDG>5D&gZ^lq5qmLA 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
    gC8OSzyB8UKEQg?kF@7w!0w42@&Wc8J-Ds; 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 AdjJ3c literal 0 HcmV?d00001 diff --git a/_requirements_/specification.py b/_requirements_/specification.py new file mode 100644 index 0000000..939c21f --- /dev/null +++ b/_requirements_/specification.py @@ -0,0 +1,82 @@ +def specification(req_spec): + req_spec.add_title("Module media") + + # + # Section + # + sec_uuid = req_spec.add( + itemtype="SEC", + id=1, + heading="Metadata", + ) + + # Requirement + req_spec.add( + parent=sec_uuid, + itemtype="REQ", + id=1, + heading="Method to get Metadata", + description="A Method shall return the metadata for a given media filename.", + ) + # + # Section + # + sec_uuid = req_spec.add( + itemtype="SEC", + id=2, + heading="Image", + ) + + # Requirement + req_spec.add( + parent=sec_uuid, + itemtype="REQ", + id=2, + heading="Load from File", + description="The class {\\tt image} shall have a method {\\tt load\\_from\\_file}, which creates a copy of an image to the instance. Load from file can handle a filename, but also pil images and media images. The method returns {\\tt True} on success and {\\tt False} on failures.", + ) + + # Requirement + req_spec.add( + parent=sec_uuid, + itemtype="REQ", + id=3, + heading="Save", + description="The class {\\tt image} shall have a method {\\tt save}, which stores the modified image to a given filename. The method returns {\\tt True} on success and {\\tt False} on failures.", + ) + + # Requirement + req_spec.add( + parent=sec_uuid, + itemtype="REQ", + id=4, + heading="Image data", + description="The class {\\tt image} shall have a method {\\tt image\\_data}, which returns the raw data of the modified image.", + ) + + # Requirement + req_spec.add( + parent=sec_uuid, + itemtype="REQ", + id=5, + heading="Resize", + description="The class {\\tt image} shall have a method {\\tt resize}, which resizes the image. The method returns {\\tt True} on success and {\\tt False} on failures.", + ) + + # Requirement + req_spec.add( + parent=sec_uuid, + itemtype="REQ", + id=6, + heading="Rotate", + description="The class {\\tt image} shall have a method {\\tt rotate\\_by\\_orientation}, which rotates the image by an exif orientation. If no parameter is given, the orientation will be taken out of the loaded image. The method returns {\\tt True} on success and {\\tt False} on failures.", + ) + + # Requirement + req_spec.add( + parent=sec_uuid, + itemtype="REQ", + id=7, + heading="Join", + description="The class {\\tt image} shall have a method {\\tt join}, which joins an image to the loaded image. The method returns {\\tt True} on success and {\\tt False} on failures.", + )