ProjectExtensions (Essentials)
static class · пространство имён z3n7 · исходник Essentials/ExternalCode.cs, Essentials/Init.cs, Essentials/Logger.cs, Essentials/Time.cs
public static class ProjectExtensions
Другие части этого типа: ProjectExtensions (Accounts), ProjectExtensions (Browser), ProjectExtensions (Diagnostic), ProjectExtensions (Mail), ProjectExtensions (MethodExtensions), ProjectExtensions (Reports), ProjectExtensions (Requests), ProjectExtensions (Traffic)
Методы расширения для IZennoPosterProjectModel: старт, логирование, тайминги и запуск других проектов.
Методы
Age
public static T Age<T>(this IZennoPosterProjectModel project, string var = null)
Метод расширения для IZennoPosterProjectModel. исходник
Возраст сессии: время, прошедшее с момента в Unix-миллисекундах, сохранённого в var. Если в переменной не число, сначала в неё записывается текущий момент. string возвращает TimeSpan.ToString(), TimeSpan — сам интервал, любой другой тип получает целые секунды, приведённые через Convert.ChangeType.
| Параметр | Описание |
|---|---|
var |
Переменная с временем старта; по умолчанию varSessionId. |
Deadline
public static int Deadline(this IZennoPosterProjectModel project, int sec = 0, bool log = false)
Метод расширения для IZennoPosterProjectModel. исходник
Дедлайн на два вызова по переменной t0. При sec = 0 сохраняет текущее время и возвращает 0; при sec > 0 возвращает число секунд с того момента и бросает исключение, если оно больше sec.
| Параметр | Описание |
|---|---|
sec |
Предел в секундах или 0 для старта. |
log |
Писать в лог число прошедших секунд. |
InitVariables
public static void InitVariables(this IZennoPosterProjectModel project, Instance instance, string author = "w3bgr3p")
Метод расширения для IZennoPosterProjectModel. исходник
Выполняет Init.InitVariables, затем запускает встроенный сервер (StartZpServer). Ошибка запуска сервера пишется в лог как предупреждение и не останавливает проект.
| Параметр | Описание |
|---|---|
instance |
Инстанс браузера проекта. |
author |
Автор скрипта, который показывается в стартовом баннере. |
log
public static void log(this IZennoPosterProjectModel project, object toLog, [CallerMemberName] string caller = "", bool show = true, bool toZp = true)
Метод расширения для IZennoPosterProjectModel. исходник
Пишет сообщение в лог проекта через Logger по умолчанию. Если вызван прямо из C#-кубика, сгенерированное имя кубика заменяется именем проекта.
| Параметр | Описание |
|---|---|
toLog |
Сообщение. |
show |
Писать, даже если ниже минимального уровня. |
toZp |
Писать в лог ZennoPoster. |
RunZp
public static bool RunZp(this IZennoPosterProjectModel project, List<string> vars = null)
Метод расширения для IZennoPosterProjectModel. исходник
Запускает проект, путь к которому лежит в переменной projectScript, через ExecuteProject. Каждое имя из vars сопоставляется с переменной того же имени в вызываемом проекте. Исключение пишется в лог как предупреждение и пробрасывается дальше.
| Параметр | Описание |
|---|---|
vars |
Имена переменных, которые передаются в вызываемый проект. |
Возвращает: Результат ExecuteProject.
public static bool RunZp(this IZennoPosterProjectModel project, string path)
Метод расширения для IZennoPosterProjectModel. исходник
Запускает проект по пути path через ExecuteProject и передаёт по имени фиксированный набор переменных: acc0, cfgLog, cfgPin, DBmode, DBpstgrPass, DBpstgrUser, DBsqltPath, instancePort, lastQuery, varSessionId, wkMode.
| Параметр | Описание |
|---|---|
path |
Путь к файлу .zp. |
Возвращает: Результат ExecuteProject.
StartSession
public static void StartSession(this IZennoPosterProjectModel project)
Метод расширения для IZennoPosterProjectModel. исходник
Ждёт случайные 0–1 с и сохраняет текущие Unix-миллисекунды в varSessionId.
TimeElapsed
public static int TimeElapsed(this IZennoPosterProjectModel project, string varName = "varSessionId")
Метод расширения для IZennoPosterProjectModel. исходник
Секунды, прошедшие с момента, сохранённого (в Unix-миллисекундах) в переменной проекта.
| Параметр | Описание |
|---|---|
varName |
Переменная с временем старта; по умолчанию начало сессии, varSessionId. |
TimeOut
public static void TimeOut(this IZennoPosterProjectModel project, int min = 0)
Метод расширения для IZennoPosterProjectModel. исходник
Бросает исключение, как только сессия (varSessionId) становится старше min минут. В сообщении указано последнее выполненное действие.
| Параметр | Описание |
|---|---|
min |
Предел в минутах; 0 — прочитать из переменной timeOut. |
warn
public static void warn(this IZennoPosterProjectModel project, string msg, bool thrw = false, bool show = true, [CallerMemberName] string caller = "")
Метод расширения для IZennoPosterProjectModel. исходник
Пишет предупреждение в лог проекта.
| Параметр | Описание |
|---|---|
msg |
Сообщение. |
thrw |
Заодно сохранить сообщение в переменную err и бросить Exception. |
show |
Писать, даже если ниже минимального уровня. |
public static void warn(this IZennoPosterProjectModel project, Exception ex, bool thrw = false, bool withStack = false, bool toZp = true, [CallerMemberName] string caller = "")
Метод расширения для IZennoPosterProjectModel. исходник
Пишет сообщение исключения как предупреждение и сохраняет его в переменную err.
| Параметр | Описание |
|---|---|
ex |
Исключение для отчёта. |
thrw |
После записи бросить Exception с сообщением. |
withStack |
Добавить стек вызовов. |
toZp |
Не используется. |