Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- using System.IO;
- using System.Linq;
- using System.Net;
- using System.Text;
- using System.Threading;
- using System.Threading.Tasks;
- using System.Windows.Forms;
- using AdflyUrlShrinker.Classes;
- using AdflyUrlShrinker.Properties;
- namespace AdflyUrlShrinker
- {
- public partial class MainForm : Form
- {
- private List<string> _linkList = new List<string>();
- private CancellationTokenSource _cts;
- public MainForm()
- {
- InitializeComponent();
- }
- private string MakeAdFlyUrl(string url)
- {
- try
- {
- string requestUrl = string.Format("http://api.adf.ly/api.php?key={0}&uid={1}&advert_type=int&domain=adf.ly&url={2}", adFlyKeyText.Text, adFlyUidText.Text, url);
- using (var client = new WebClient())
- {
- string shrunk = client.DownloadString(requestUrl);
- return shrunk != "error" ? shrunk : string.Empty;
- }
- }
- catch (Exception ex)
- {
- return string.Empty;
- }
- }
- private void SaveLinks()
- {
- var savefile = new SaveFileDialog
- {
- Filter = "txt files (*.txt)|*.txt|All files (*.*)|*.*",
- InitialDirectory = "%SystemDrive%",
- Title = "Save Shrunk URL List"
- };
- if (savefile.ShowDialog() == DialogResult.OK)
- {
- if (!String.IsNullOrEmpty(savefile.FileName))
- {
- var saveList = (from object item in shrunkBox.Items select item.ToString()).ToList();
- File.WriteAllLines(savefile.FileName, saveList);
- }
- }
- }
- private void clearToolStripMenuItem_Click(object sender, EventArgs e)
- {
- shrinkBox.Items.Clear();
- totalShrinkLinkLabel.Text = "0";
- }
- private void saveBtn_Click(object sender, EventArgs e)
- {
- SaveLinks();
- }
- private void loadShrinkListBtn_Click(object sender, EventArgs e)
- {
- _linkList = Global.LoadLinks();
- if (_linkList != null)
- {
- shrinkBox.Items.AddRange(_linkList.ToArray());
- totalShrinkLinkLabel.Text = shrinkBox.Items.Count.ToString();
- }
- }
- private void stopBtn_Click(object sender, EventArgs e)
- {
- if (_cts != null)
- {
- _cts.Cancel();
- }
- }
- private void shrinkBtn_Click(object sender, EventArgs e)
- {
- _cts = new CancellationTokenSource();
- CancellationToken ct = _cts.Token;
- int t = 0;
- Task.Factory.StartNew(() =>
- {
- try
- {
- ct.ThrowIfCancellationRequested();
- Parallel.ForEach(_linkList,
- new ParallelOptions { MaxDegreeOfParallelism = Convert.ToInt32(threadCount.Text), CancellationToken = ct }, link =>
- {
- string shrunkLink = MakeAdFlyUrl(link);
- if (!String.IsNullOrEmpty(shrunkLink))
- {
- Interlocked.Increment(ref t);
- Invoke(new MethodInvoker(
- () =>
- {
- shrunkBox.Items.Add(shrunkLink);
- totalShrunkLabel.Text = t.ToString();
- }));
- }
- });
- }
- // catch cancel exceptions
- catch (OperationCanceledException)
- {
- }
- catch (ObjectDisposedException)
- {
- }
- catch (Exception)
- {
- }
- }, ct);
- }
- private void saveToolStripMenuItem_Click(object sender, EventArgs e)
- {
- SaveLinks();
- }
- private void copySelectedToolStripMenuItem_Click(object sender, EventArgs e)
- {
- var clipData = new StringBuilder();
- foreach (object value in shrunkBox.SelectedItems)
- {
- clipData.AppendLine(value.ToString());
- }
- Clipboard.SetText(clipData.ToString());
- }
- private void clearToolStripMenuItem1_Click(object sender, EventArgs e)
- {
- shrunkBox.Items.Clear();
- totalShrunkLabel.Text = "0";
- }
- private void MainForm_Load(object sender, EventArgs e)
- {
- saveCheckBox.Checked = (bool)Settings.Default["SaveBool"];
- if (saveCheckBox.Checked)
- {
- adFlyKeyText.Text = Settings.Default["KeyString"].ToString();
- adFlyUidText.Text = Settings.Default["UIDString"].ToString();
- }
- }
- private void saveCheckBox_Click(object sender, EventArgs e)
- {
- Settings.Default["SaveBool"] = saveCheckBox.Checked;
- if (saveCheckBox.Checked)
- {
- Settings.Default["KeyString"] = adFlyKeyText.Text;
- Settings.Default["UIDString"] = adFlyUidText.Text;
- }
- Settings.Default.Save();
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment