Merge pull request #4786 from user6323/Added-check-box-to-make-direct-URL-for-SeaFile

Added check box to make direct URL for SeaFile uploader
This commit is contained in:
Jaex 2020-05-03 00:52:47 +03:00 committed by GitHub
commit 5320fd0818
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 83 additions and 11 deletions

View file

@ -58,6 +58,7 @@ public override GenericUploader CreateUploader(UploadersConfig config, TaskRefer
ShareDaysToExpire = config.SeafileShareDaysToExpire,
SharePassword = config.SeafileSharePassword,
CreateShareableURL = config.SeafileCreateShareableURL,
CreateShareableURLRaw = config.SeafileCreateShareableURLRaw,
IgnoreInvalidCert = config.SeafileIgnoreInvalidCert
};
}
@ -76,6 +77,7 @@ public sealed class Seafile : FileUploader
public int ShareDaysToExpire { get; set; }
public string SharePassword { get; set; }
public bool CreateShareableURL { get; set; }
public bool CreateShareableURLRaw { get; set; }
public bool IgnoreInvalidCert { get; set; }
public Seafile(string apiurl, string authtoken, string repoid)
@ -450,6 +452,15 @@ public override UploadResult Upload(Stream stream, string fileName)
{
AllowReportProgress = false;
result.URL = ShareFile(Path + fileName);
if (CreateShareableURLRaw)
{
var uriBuilder = new UriBuilder(result.URL);
var query = System.Web.HttpUtility.ParseQueryString(uriBuilder.Query);
query["raw"] = "1";
uriBuilder.Query = query.ToString();
result.URL = $"{uriBuilder.Scheme}://{uriBuilder.Host}{uriBuilder.Path}{uriBuilder.Query}";
}
}
else
{

View file

@ -425,6 +425,7 @@ private void InitializeComponent()
this.lblSeafilePassword = new System.Windows.Forms.Label();
this.cbSeafileIgnoreInvalidCert = new System.Windows.Forms.CheckBox();
this.cbSeafileCreateShareableURL = new System.Windows.Forms.CheckBox();
this.cbSeafileCreateShareableURLRaw = new System.Windows.Forms.CheckBox();
this.txtSeafileAuthToken = new System.Windows.Forms.TextBox();
this.lblSeafileAuthToken = new System.Windows.Forms.Label();
this.lblSeafileAPIURL = new System.Windows.Forms.Label();
@ -3177,6 +3178,7 @@ private void InitializeComponent()
this.tpSeafile.Controls.Add(this.grpSeafileObtainAuthToken);
this.tpSeafile.Controls.Add(this.cbSeafileIgnoreInvalidCert);
this.tpSeafile.Controls.Add(this.cbSeafileCreateShareableURL);
this.tpSeafile.Controls.Add(this.cbSeafileCreateShareableURLRaw);
this.tpSeafile.Controls.Add(this.txtSeafileAuthToken);
this.tpSeafile.Controls.Add(this.lblSeafileAuthToken);
this.tpSeafile.Controls.Add(this.lblSeafileAPIURL);
@ -3427,6 +3429,13 @@ private void InitializeComponent()
this.cbSeafileCreateShareableURL.UseVisualStyleBackColor = true;
this.cbSeafileCreateShareableURL.CheckedChanged += new System.EventHandler(this.cbSeafileCreateShareableURL_CheckedChanged);
//
// cbSeafileCreateShareableURLRaw
//
resources.ApplyResources(this.cbSeafileCreateShareableURLRaw, "cbSeafileCreateShareableURLRaw");
this.cbSeafileCreateShareableURLRaw.Name = "cbSeafileCreateShareableURLRaw";
this.cbSeafileCreateShareableURLRaw.UseVisualStyleBackColor = true;
this.cbSeafileCreateShareableURLRaw.CheckedChanged += new System.EventHandler(this.cbSeafileCreateShareableURLRaw_CheckedChanged);
//
// txtSeafileAuthToken
//
resources.ApplyResources(this.txtSeafileAuthToken, "txtSeafileAuthToken");
@ -5309,6 +5318,7 @@ private void InitializeComponent()
private System.Windows.Forms.Label lblSeafilePassword;
private System.Windows.Forms.CheckBox cbSeafileIgnoreInvalidCert;
private System.Windows.Forms.CheckBox cbSeafileCreateShareableURL;
private System.Windows.Forms.CheckBox cbSeafileCreateShareableURLRaw;
private System.Windows.Forms.TextBox txtSeafileAuthToken;
private System.Windows.Forms.Label lblSeafileAuthToken;
private System.Windows.Forms.Label lblSeafileAPIURL;

View file

@ -639,6 +639,8 @@ private void LoadFileUploaderSettings()
txtSeafileLibraryPassword.ReadOnly = Config.SeafileIsLibraryEncrypted;
btnSeafileLibraryPasswordValidate.Enabled = !Config.SeafileIsLibraryEncrypted;
cbSeafileCreateShareableURL.Checked = Config.SeafileCreateShareableURL;
cbSeafileCreateShareableURLRaw.Checked = Config.SeafileCreateShareableURLRaw;
cbSeafileCreateShareableURLRaw.Enabled = cbSeafileCreateShareableURL.Checked;
cbSeafileIgnoreInvalidCert.Checked = Config.SeafileIgnoreInvalidCert;
nudSeafileExpireDays.SetValue(Config.SeafileShareDaysToExpire);
txtSeafileSharePassword.Text = Config.SeafileSharePassword;
@ -2596,6 +2598,12 @@ private void btnSeafileGetAuthToken_Click(object sender, EventArgs e)
private void cbSeafileCreateShareableURL_CheckedChanged(object sender, EventArgs e)
{
Config.SeafileCreateShareableURL = cbSeafileCreateShareableURL.Checked;
cbSeafileCreateShareableURLRaw.Enabled = cbSeafileCreateShareableURL.Checked;
}
private void cbSeafileCreateShareableURLRaw_CheckedChanged(object sender, EventArgs e)
{
Config.SeafileCreateShareableURLRaw = cbSeafileCreateShareableURLRaw.Checked;
}
private void cbSeafileIgnoreInvalidCert_CheckedChanged(object sender, EventArgs e)

View file

@ -13085,6 +13085,18 @@ when you made the application key.</value>
<data name="&gt;&gt;cbSeafileCreateShareableURL.ZOrder" xml:space="preserve">
<value>17</value>
</data>
<data name="&gt;&gt;cbSeafileCreateShareableURLRaw.Name" xml:space="preserve">
<value>cbSeafileCreateShareableURLRaw</value>
</data>
<data name="&gt;&gt;cbSeafileCreateShareableURLRaw.Type" xml:space="preserve">
<value>System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;cbSeafileCreateShareableURLRaw.Parent" xml:space="preserve">
<value>tpSeafile</value>
</data>
<data name="&gt;&gt;cbSeafileCreateShareableURLRaw.ZOrder" xml:space="preserve">
<value>17</value>
</data>
<data name="&gt;&gt;txtSeafileAuthToken.Name" xml:space="preserve">
<value>txtSeafileAuthToken</value>
</data>
@ -13353,7 +13365,7 @@ when you made the application key.</value>
<value>NoControl</value>
</data>
<data name="btnSeafileLibraryPasswordValidate.Location" type="System.Drawing.Point, System.Drawing">
<value>320, 456</value>
<value>320, 479</value>
</data>
<data name="btnSeafileLibraryPasswordValidate.Size" type="System.Drawing.Size, System.Drawing">
<value>71, 22</value>
@ -13377,7 +13389,7 @@ when you made the application key.</value>
<value>2</value>
</data>
<data name="txtSeafileLibraryPassword.Location" type="System.Drawing.Point, System.Drawing">
<value>16, 457</value>
<value>16, 480</value>
</data>
<data name="txtSeafileLibraryPassword.Size" type="System.Drawing.Size, System.Drawing">
<value>297, 20</value>
@ -13404,7 +13416,7 @@ when you made the application key.</value>
<value>NoControl</value>
</data>
<data name="lblSeafileLibraryPassword.Location" type="System.Drawing.Point, System.Drawing">
<value>13, 441</value>
<value>13, 464</value>
</data>
<data name="lblSeafileLibraryPassword.Size" type="System.Drawing.Size, System.Drawing">
<value>89, 13</value>
@ -13428,7 +13440,7 @@ when you made the application key.</value>
<value>4</value>
</data>
<data name="lvSeafileLibraries.Location" type="System.Drawing.Point, System.Drawing">
<value>16, 162</value>
<value>16, 185</value>
</data>
<data name="lvSeafileLibraries.Size" type="System.Drawing.Size, System.Drawing">
<value>375, 194</value>
@ -13467,7 +13479,7 @@ when you made the application key.</value>
<value>NoControl</value>
</data>
<data name="btnSeafilePathValidate.Location" type="System.Drawing.Point, System.Drawing">
<value>320, 414</value>
<value>320, 437</value>
</data>
<data name="btnSeafilePathValidate.Size" type="System.Drawing.Size, System.Drawing">
<value>71, 22</value>
@ -13491,7 +13503,7 @@ when you made the application key.</value>
<value>6</value>
</data>
<data name="txtSeafileDirectoryPath.Location" type="System.Drawing.Point, System.Drawing">
<value>16, 415</value>
<value>16, 438</value>
</data>
<data name="txtSeafileDirectoryPath.Size" type="System.Drawing.Size, System.Drawing">
<value>297, 20</value>
@ -13518,7 +13530,7 @@ when you made the application key.</value>
<value>NoControl</value>
</data>
<data name="lblSeafileWritePermNotif.Location" type="System.Drawing.Point, System.Drawing">
<value>13, 364</value>
<value>13, 387</value>
</data>
<data name="lblSeafileWritePermNotif.Size" type="System.Drawing.Size, System.Drawing">
<value>221, 26</value>
@ -13549,7 +13561,7 @@ Using an encrypted library disables sharing.</value>
<value>NoControl</value>
</data>
<data name="lblSeafilePath.Location" type="System.Drawing.Point, System.Drawing">
<value>13, 398</value>
<value>13, 421</value>
</data>
<data name="lblSeafilePath.Size" type="System.Drawing.Size, System.Drawing">
<value>32, 13</value>
@ -13576,7 +13588,7 @@ Using an encrypted library disables sharing.</value>
<value>NoControl</value>
</data>
<data name="txtSeafileUploadLocationRefresh.Location" type="System.Drawing.Point, System.Drawing">
<value>320, 365</value>
<value>320, 388</value>
</data>
<data name="txtSeafileUploadLocationRefresh.Size" type="System.Drawing.Size, System.Drawing">
<value>71, 23</value>
@ -13606,7 +13618,7 @@ Using an encrypted library disables sharing.</value>
<value>NoControl</value>
</data>
<data name="lblSeafileSelectLibrary.Location" type="System.Drawing.Point, System.Drawing">
<value>13, 146</value>
<value>13, 169</value>
</data>
<data name="lblSeafileSelectLibrary.Size" type="System.Drawing.Size, System.Drawing">
<value>70, 13</value>
@ -14116,7 +14128,7 @@ Using an encrypted library disables sharing.</value>
<value>NoControl</value>
</data>
<data name="cbSeafileIgnoreInvalidCert.Location" type="System.Drawing.Point, System.Drawing">
<value>16, 126</value>
<value>16, 149</value>
</data>
<data name="cbSeafileIgnoreInvalidCert.Size" type="System.Drawing.Size, System.Drawing">
<value>161, 17</value>
@ -14169,6 +14181,36 @@ Using an encrypted library disables sharing.</value>
<data name="&gt;&gt;cbSeafileCreateShareableURL.ZOrder" xml:space="preserve">
<value>17</value>
</data>
<data name="cbSeafileCreateShareableURLRaw.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="cbSeafileCreateShareableURLRaw.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="cbSeafileCreateShareableURLRaw.Location" type="System.Drawing.Point, System.Drawing">
<value>16, 126</value>
</data>
<data name="cbSeafileCreateShareableURLRaw.Size" type="System.Drawing.Size, System.Drawing">
<value>131, 17</value>
</data>
<data name="cbSeafileCreateShareableURLRaw.TabIndex" type="System.Int32, mscorlib">
<value>8</value>
</data>
<data name="cbSeafileCreateShareableURLRaw.Text" xml:space="preserve">
<value>Use raw URL</value>
</data>
<data name="&gt;&gt;cbSeafileCreateShareableURLRaw.Name" xml:space="preserve">
<value>cbSeafileCreateShareableURLRaw</value>
</data>
<data name="&gt;&gt;cbSeafileCreateShareableURLRaw.Type" xml:space="preserve">
<value>System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;cbSeafileCreateShareableURLRaw.Parent" xml:space="preserve">
<value>tpSeafile</value>
</data>
<data name="&gt;&gt;cbSeafileCreateShareableURLRaw.ZOrder" xml:space="preserve">
<value>17</value>
</data>
<data name="txtSeafileAuthToken.Location" type="System.Drawing.Point, System.Drawing">
<value>16, 77</value>
</data>

View file

@ -359,6 +359,7 @@ public class UploadersConfig : SettingsBase<UploadersConfig>
public bool SeafileIsLibraryEncrypted = false;
public string SeafileEncryptedLibraryPassword = "";
public bool SeafileCreateShareableURL = true;
public bool SeafileCreateShareableURLRaw = false;
public bool SeafileIgnoreInvalidCert = false;
public int SeafileShareDaysToExpire = 0;
public string SeafileSharePassword = "";