Пример #1
0
        static void Main()
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            foreach (var d in new Devices(ChannelEditing.object_store))
            {
                Device device = d as Device;
                Console.WriteLine("Device id: {0}\n\tname: {1}\n\ttype: {2}\n\tuids: {3}",
                                  device.Id, device.Name, device.DeviceType, string.Join(",", device.UIds));
            }
//            FindUnencryptedQAMChannels();
            SDTokenManager token_manager = LoginForm.LoginAndGetTokenManager();
            StatusResponse status        = new SDStatusReader(token_manager).GetSchedulesDirectStatus();

            JSONClient.DisplayJSON(status);
            if (!status.IsOnline())
            {
                MessageBox.Show("SchedulesDirect JSON API is currently offline.  Try again later.");
                Application.Exit();
            }

            /*            var schedule_responses = SDSchedules.GetStationScheduleResponses(new List<string>{
             *              "58623", "62420" });
             *          HashSet<string> programIDs = new HashSet<string>();
             *          foreach(var schedule_response in schedule_responses)
             *          {
             *              if (schedule_response.programs != null)
             *                  foreach(var program in schedule_response.programs)
             *                      programIDs.Add(program.programID);
             *          }
             *          List<SDProgram> programs = SDProgramFetcher.FetchPrograms(programIDs); */
            //            SDAccountManagement.AddLineupToAccount("USA-NY67791-QAM");
            ProviderCreator.ListProviders();
            Application.Run(new ConfigForm(token_manager, status));
        }
Пример #2
0
 public ConfigForm(SDTokenManager token_manager, StatusResponse sd_status)
 {
     InitializeComponent();
     token_manager_ = token_manager;
     sd_status_     = sd_status;
     InitCountryComboBox();
     UpdateSubscribedLineups();
     InitScannedLineupsComboBox();
 }
Пример #3
0
 public static SDTokenManager LoginAndGetTokenManager()
 {
     if (!(string.IsNullOrEmpty(config_.username) && string.IsNullOrEmpty(config_.pwhash)))
     {
         try
         {
             token_manager_ = new SDTokenManager(config_.username, config_.pwhash);
             string token = token_manager_.token;
             return token_manager_;
         } catch { }  // Failed to get token, assume incorrect login info.
     }
     LoginForm login_form = new LoginForm();
     login_form.ShowDialog();
     return token_manager_;
 }
Пример #4
0
        public static SDTokenManager LoginAndGetTokenManager()
        {
            if (!(string.IsNullOrEmpty(config_.username) && string.IsNullOrEmpty(config_.pwhash)))
            {
                try
                {
                    token_manager_ = new SDTokenManager(config_.username, config_.pwhash);
                    string token = token_manager_.token;
                    return(token_manager_);
                } catch { }  // Failed to get token, assume incorrect login info.
            }
            LoginForm login_form = new LoginForm();

            login_form.ShowDialog();
            return(token_manager_);
        }
Пример #5
0
 private void LoginButton_Click(object sender, EventArgs e)
 {
     string password_hash = SDTokenManager.HashPassword(PasswordTextBox.Text);
     token_manager_ = new SDTokenManager(UsernameTextBox.Text, password_hash);
     try
     {
         string token = token_manager_.token;
         config_.username = UsernameTextBox.Text;
         config_.pwhash = password_hash;
         ConfigManager.instance.SaveConfig();
         this.Close();
     } catch(SDTokenManager.ServerDownException)
     {
         MessageBox.Show("Schedules Direct JSON API server is currently down.  Try again in one hour.");
         Application.Exit();
     }
 }
Пример #6
0
        private void LoginButton_Click(object sender, EventArgs e)
        {
            string password_hash = SDTokenManager.HashPassword(PasswordTextBox.Text);

            token_manager_ = new SDTokenManager(UsernameTextBox.Text, password_hash);
            try
            {
                string token = token_manager_.token;
                config_.username = UsernameTextBox.Text;
                config_.pwhash   = password_hash;
                ConfigManager.instance.SaveConfig();
                this.Close();
            } catch (SDTokenManager.ServerDownException)
            {
                MessageBox.Show("Schedules Direct JSON API server is currently down.  Try again in one hour.");
                Application.Exit();
            }
        }
Пример #7
0
        public static List <SDLineup> GetLineupsForZip(SDTokenManager token_manager, string country, string zip)
        {
            string          url      = String.Format(UrlBuilder.BuildWithAPIPrefix("/headends?country={0}&postalcode={1}"), country, zip);
            List <HeadEnd>  headends = JSONClient.GetJSONResponse <List <HeadEnd> >(url, JSONClient.empty_request, token_manager.token);
            List <SDLineup> lineups  = new List <SDLineup>();

            foreach (HeadEnd headend in headends)
            {
                if (headend.lineups != null)
                {
                    foreach (SDLineup lineup in headend.lineups)
                    {
                        lineup.transport = headend.transport;
                    }
                    lineups.AddRange(headend.lineups.ToArray());
                }
            }
            return(lineups);
        }
Пример #8
0
        private string GetNewToken()
        {
            TokenRequest  token_request  = new TokenRequest(username_, pwhash_);
            TokenResponse token_response = JSONClient.GetJSONResponse <TokenResponse>(kTokenRequestUrl, token_request);

            switch (token_response.code)
            {
            case 0:
                token_ = token_response.token;
                Console.WriteLine("Successfully requested access token: {0}", token_);
                last_updated_  = DateTime.Now;
                token_manager_ = this;
                return(token_);

            case 3000:
                throw new ServerDownException(token_response.response_code, token_response.message);

            default:
                throw new Exception("Unrecognized error - bad password? response_code:" + token_response.response_code +
                                    " message: " + token_response.message + " code: " + token_response.code);
            }
        }
Пример #9
0
 private string GetNewToken()
 {
     TokenRequest token_request = new TokenRequest(username_, pwhash_);
     TokenResponse token_response = JSONClient.GetJSONResponse<TokenResponse>(kTokenRequestUrl, token_request);
     switch(token_response.code)
     {
         case 0:
             token_ = token_response.token;
             Console.WriteLine("Successfully requested access token: {0}", token_);
             last_updated_ = DateTime.Now;
             token_manager_ = this;
             return token_;
         case 3000:
             throw new ServerDownException(token_response.response_code, token_response.message);
         default:
             throw new Exception("Unrecognized error - bad password? response_code:" + token_response.response_code +
                 " message: " + token_response.message + " code: " + token_response.code);
     }
 }
Пример #10
0
 public static List<SDLineup> GetLineupsForZip(SDTokenManager token_manager, string country, string zip)
 {
     string url = String.Format(UrlBuilder.BuildWithAPIPrefix("/headends?country={0}&postalcode={1}"), country, zip);
     List<HeadEnd> headends = JSONClient.GetJSONResponse<List<HeadEnd>>(url, JSONClient.empty_request, token_manager.token);
     List<SDLineup> lineups = new List<SDLineup>();
     foreach(HeadEnd headend in headends)
     {
         if (headend.lineups != null)
         {
             foreach (SDLineup lineup in headend.lineups)
             {
                 lineup.transport = headend.transport;
             }
             lineups.AddRange(headend.lineups.ToArray());
         }
     }
     return lineups;
 }
Пример #11
0
 public SDStatusReader(SDTokenManager token_manager)
 {
     token_manager_ = token_manager;
 }
Пример #12
0
 public SDStatusReader(SDTokenManager token_manager)
 {
     token_manager_ = token_manager;
 }