Skip to content

feat: split huge file synology_api/surveillancestation.py to multiple files #269

@luboszima

Description

@luboszima

Is your feature request related to a problem? Please describe.
synology_api/surveillancestation.py file is huge, over 5k lines. Will be better to split it to multiple files by similar logic.

Number of lines

cat synology_api/surveillancestation.py | wc -l
    5731

Number of methods:

 cat synology_api/surveillancestation.py | egrep def | wc -l
     342

Used API endpoints (55):

cat synology_api/surveillancestation.py | egrep 'api_name =' | awk -F'=' '{print $2}' | sort | uniq | tr -d "'"
 SYNO.SurveillanceStation.ActionRule
 SYNO.SurveillanceStation.AddOns
 SYNO.SurveillanceStation.Alert
 SYNO.SurveillanceStation.Alert.Setting
 SYNO.SurveillanceStation.Archiving.Pull
 SYNO.SurveillanceStation.AxisAcsCtrler
 SYNO.SurveillanceStation.AxisAcsCtrler.Search
 SYNO.SurveillanceStation.CMS
 SYNO.SurveillanceStation.CMS.GetDsStatus
 SYNO.SurveillanceStation.CMS.SlavedsList
 SYNO.SurveillanceStation.Camera
 SYNO.SurveillanceStation.Camera.Event
 SYNO.SurveillanceStation.Camera.Group
 SYNO.SurveillanceStation.Camera.Import
 SYNO.SurveillanceStation.Camera.Search
 SYNO.SurveillanceStation.Camera.Status
 SYNO.SurveillanceStation.Camera.Wizard
 SYNO.SurveillanceStation.DigitalOutput
 SYNO.SurveillanceStation.Emap
 SYNO.SurveillanceStation.Emap.Image
 SYNO.SurveillanceStation.ExternalEvent
 SYNO.SurveillanceStation.ExternalRecording
 SYNO.SurveillanceStation.Face
 SYNO.SurveillanceStation.Face.Result
 SYNO.SurveillanceStation.HomeMode
 SYNO.SurveillanceStation.IOModule
 SYNO.SurveillanceStation.IOModule.Search
 SYNO.SurveillanceStation.IVA
 SYNO.SurveillanceStation.IVA.Recording
 SYNO.SurveillanceStation.IVA.Report
 SYNO.SurveillanceStation.IVA.TaskGroup
 SYNO.SurveillanceStation.Info
 SYNO.SurveillanceStation.License
 SYNO.SurveillanceStation.Log
 SYNO.SurveillanceStation.Notification
 SYNO.SurveillanceStation.Notification.Email
 SYNO.SurveillanceStation.Notification.PushService
 SYNO.SurveillanceStation.Notification.SMS
 SYNO.SurveillanceStation.Notification.SMS.ServiceProvider
 SYNO.SurveillanceStation.Notification.Schedule
 SYNO.SurveillanceStation.PTZ
 SYNO.SurveillanceStation.PTZ.Patrol
 SYNO.SurveillanceStation.PTZ.Preset
 SYNO.SurveillanceStation.Recording
 SYNO.SurveillanceStation.Recording.Bookmark
 SYNO.SurveillanceStation.Recording.Export
 SYNO.SurveillanceStation.Recording.Mount
 SYNO.SurveillanceStation.SnapShot
 SYNO.SurveillanceStation.Stream
 SYNO.SurveillanceStation.Transactions.Device
 SYNO.SurveillanceStation.Transactions.Transaction
 SYNO.SurveillanceStation.VisualStation
 SYNO.SurveillanceStation.VisualStation.Layout
 SYNO.SurveillanceStation.VisualStation.Search
 SYNO.SurveillanceStation.YoutubeLive

Describe the solution you'd like
Files can be split by some common logic like group of similar api endpoints (list above)

SYNO.SurveillanceStation.<category>

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions