From a34f0bd719cb34bd03e661fac3d56d19158a11ab Mon Sep 17 00:00:00 2001 From: Andy <88590076+AAndyProgram@users.noreply.github.com> Date: Fri, 27 Jan 2023 16:45:50 +0300 Subject: [PATCH] 2023.1.27.0 --- Plugins.md | 85 ++++++++++++++++++++++++++++++++--------------------- Settings.md | 3 ++ 2 files changed, 54 insertions(+), 34 deletions(-) diff --git a/Plugins.md b/Plugins.md index 59b7cb7..2ed1614 100644 --- a/Plugins.md +++ b/Plugins.md @@ -150,40 +150,6 @@ interface ISiteSettings } ``` -``` CSharp -interface IPluginContentProvider : IDisposable -{ - delegate void ProgressChangedEventHandler(int Count); - event ProgressChangedEventHandler ProgressChanged; - delegate void TotalCountChangedEventHandler(int Count); - event TotalCountChangedEventHandler TotalCountChanged; - IThrower Thrower {get; set;}; - ILogProvider LogProvider {get; set;}; - ISiteSettings Settings {get; set;}; - string Name {get; set;}; - string ID {get; set;}; - bool ParseUserMediaOnly {get; set;}; - string UserDescription {get; set;}; - List ExistingContentList {get; set;}; - List TempPostsList {get; set;}; - List TempMediaList {get; set;}; - bool UserExists {get; set;}; - bool UserSuspended {get; set;}; - bool IsSavedPosts {get; set;}; - bool SeparateVideoFolder {get; set;}; - string DataPath {get; set;}; - Nullable PostsNumberLimit {get; set;}; - Nullable DownloadDateFrom {get; set;}; - Nullable DownloadDateTo {get; set;}; - object ExchangeOptionsGet(); - void ExchangeOptionsSet(object Obj); - void XmlFieldsSet(List> Fields); - List> XmlFieldsGet(); - void GetMedia(); - void Download(); -} -``` - ### Site Site name. This ReadOnly property must only provide the name of the site. For example: for instagram.com you should set the site name ```Instagram```. The first letter must be uppercase. @@ -366,6 +332,40 @@ If the ```OpenForm``` argument = ```True```, your options form **must** be opene ## IPluginContentProvider +``` CSharp +interface IPluginContentProvider : IDisposable +{ + delegate void ProgressChangedEventHandler(int Count); + event ProgressChangedEventHandler ProgressChanged; + delegate void TotalCountChangedEventHandler(int Count); + event TotalCountChangedEventHandler TotalCountChanged; + IThrower Thrower {get; set;}; + ILogProvider LogProvider {get; set;}; + ISiteSettings Settings {get; set;}; + string Name {get; set;}; + string ID {get; set;}; + bool ParseUserMediaOnly {get; set;}; + string UserDescription {get; set;}; + List ExistingContentList {get; set;}; + List TempPostsList {get; set;}; + List TempMediaList {get; set;}; + bool UserExists {get; set;}; + bool UserSuspended {get; set;}; + bool IsSavedPosts {get; set;}; + bool SeparateVideoFolder {get; set;}; + string DataPath {get; set;}; + Nullable PostsNumberLimit {get; set;}; + Nullable DownloadDateFrom {get; set;}; + Nullable DownloadDateTo {get; set;}; + object ExchangeOptionsGet(); + void ExchangeOptionsSet(object Obj); + void XmlFieldsSet(List> Fields); + List> XmlFieldsGet(); + void GetMedia(); + void Download(); +} +``` + ### ProgressChanged ```Event ProgressChanged(ByVal Count As Integer)``` @@ -459,6 +459,19 @@ Parse site user data Download data using parsed information +## IPropertyProvider + +``` CSharp +interface IPropertyProvider : IFormatProvider +{ + string PropertyName {get; set;}; +} +``` + +### PropertyName + +The name of the property you are working with + ## IThrower This is an exception thrower. If the user requested to cancel operation or delete user instance, an exception will be thrown. Use the ```IThrower.ThrowAny``` method in your code to stop executing when it's requested! @@ -562,6 +575,10 @@ I have developed a fully integrated plugin environment. This means that any of y ## Provider +Options: +- ```FieldsChecker``` - Read below for this option. +- ```Interaction``` - If ```True```, the value in the text field will be changed via the provider when the text changes. The default value is ```False```. + This attribute indicates that the property is a provider. The provider must be an ```IFormatProvider```. There are two working ways: check fields (```FieldsChecker```) and not. diff --git a/Settings.md b/Settings.md index 4346ab3..fe97848 100644 --- a/Settings.md +++ b/Settings.md @@ -133,6 +133,9 @@ The Reddit parser can parse data without cookies, but you can add it if you like - [```Authorization```](#how-to-find-twitter-tokens) - Bearer token. Must start with ```Bearer ``` word followed by a space. - [```Token```](#how-to-find-twitter-tokens) - in this field you need to put ```x-csrf-token```. - ```Saved posts user``` - your personal Reddit username to download your saved posts (bookmarked). +- ```Download GIFs``` - *(default for new users)* +- ```GIFs special folder``` - *(default for new users)* Put the GIFs in a special folder. **This is a folder name, not an absolute path** (examples: ```SomeFolderName```, ```SomeFolderName\SomeFolderName2```). This folder(s) will be created relative to the user's root folder. +- ```GIF prefix``` - *(default for new users)* This prefix will be added to the beginning of the filename. ![Twitter settings](https://github.com/AAndyProgram/SCrawler/blob/main/ProgramScreenshots/SettingsSiteTwitter.png)