2023.1.27.0

Andy
2023-01-27 16:45:50 +03:00
parent 3610742449
commit a34f0bd719
2 changed files with 54 additions and 34 deletions

@@ -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<IUserMedia> ExistingContentList {get; set;};
List<string> TempPostsList {get; set;};
List<IUserMedia> TempMediaList {get; set;};
bool UserExists {get; set;};
bool UserSuspended {get; set;};
bool IsSavedPosts {get; set;};
bool SeparateVideoFolder {get; set;};
string DataPath {get; set;};
Nullable<int> PostsNumberLimit {get; set;};
Nullable<DateTime> DownloadDateFrom {get; set;};
Nullable<DateTime> DownloadDateTo {get; set;};
object ExchangeOptionsGet();
void ExchangeOptionsSet(object Obj);
void XmlFieldsSet(List<KeyValuePair<string, string>> Fields);
List<KeyValuePair<string, string>> XmlFieldsGet();
void GetMedia();
void Download();
}
```
### Site ### 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. 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 ## 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<IUserMedia> ExistingContentList {get; set;};
List<string> TempPostsList {get; set;};
List<IUserMedia> TempMediaList {get; set;};
bool UserExists {get; set;};
bool UserSuspended {get; set;};
bool IsSavedPosts {get; set;};
bool SeparateVideoFolder {get; set;};
string DataPath {get; set;};
Nullable<int> PostsNumberLimit {get; set;};
Nullable<DateTime> DownloadDateFrom {get; set;};
Nullable<DateTime> DownloadDateTo {get; set;};
object ExchangeOptionsGet();
void ExchangeOptionsSet(object Obj);
void XmlFieldsSet(List<KeyValuePair<string, string>> Fields);
List<KeyValuePair<string, string>> XmlFieldsGet();
void GetMedia();
void Download();
}
```
### ProgressChanged ### ProgressChanged
```Event ProgressChanged(ByVal Count As Integer)``` ```Event ProgressChanged(ByVal Count As Integer)```
@@ -459,6 +459,19 @@ Parse site user data
Download data using parsed information 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 ## 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! 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 ## 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```. 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. There are two working ways: check fields (```FieldsChecker```) and not.

@@ -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. - [```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```. - [```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). - ```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) ![Twitter settings](https://github.com/AAndyProgram/SCrawler/blob/main/ProgramScreenshots/SettingsSiteTwitter.png)