рдкрд░рд┐рдЪрдп
рдПрдХ рдЙрдкрдпреЛрдЧреА рдкреЛрд╕реНрдЯ рдерд╛ " рдПрдордкреА рдкреНрд▓реЗрдпрд░ рдХреЗ рд▓рд┐рдП рдкреЙрдбрдХрд╛рд╕реНрдЯ рдбрд╛рдЙрдирд▓реЛрдб рдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдХрд░рдирд╛ "ред рдореЗрд░реЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдореИрдВ iTunes рдФрд░ рдЗрд╕реА рддрд░рд╣ рдХреЗ рдЕрдиреНрдп рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рддрд╛ (рдореИрдВ рдЗрд╕ рдкрд░ рдЪрд░реНрдЪрд╛ рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ :)ред рдореБрдЭреЗ рдмрд╕ рдкреЙрдбрдХрд╛рд╕реНрдЯ рдХрд╛ рдПрдХ рдкреИрдХреЗрдЯ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдЬреЛ рд╕рдордп-рд╕рдордп рдкрд░ рдкрд╛рдардХ рдХреЗ рдлреАрдб рдореЗрдВ рдЗрдХрдЯреНрдард╛ рд╣реЛрддрд╛ рд╣реИред рдФрд░ рдореИрдВ рдЕрдЬрдЧрд░ рдХреЛ PHP рдкрд╕рдВрдж рдХрд░рддрд╛ рд╣реВрдВред
рдореИрдВ рдХреБрдЫ рд╕рд▓рд╛рд╣ рд╕реБрдирдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ - рдореИрдВ рдХреЗрд╡рд▓ рдкрд╛рдпрдерди рд╕реАрдЦ рд░рд╣рд╛ рд╣реВрдВред рдФрд░ рдореБрдЭреЗ рд╢реБрд░реБрдЖрддреА рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХреЗ рд╕рд╛рде рдкреЛрд╕реНрдЯ рд▓рд┐рдЦрдирд╛ рдкрд╕рдВрдж рд╣реИред рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ, рдЖрд▓реЛрдЪрдХ рдХрд░реЗрдВрдЧреЗ ... рд▓реЗрдХрд┐рди рдЗрд╕ рдмрд┐рдВрджреБ рдкрд░ред
рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╕рдВрдЧрдарди
рдореИрдВ Google рд░реАрдбрд░ рдореЗрдВ рдкреЙрдбрдХрд╛рд╕реНрдЯ рдЯреЗрдк рдХреА рдПрдХ рд╕реВрдЪреА рд░рдЦрддрд╛ рд╣реВрдВред рд░рд┐рдмрди рдХреЛ рдЙрдирдХреЗ рдЯреИрдЧ рдХреЗ рд╕рд╛рде рдЯреИрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдЙрдирдХреЗ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдмрдбрд╝реЗ рдХрд░реАрдиреЗ рд╕реЗ рдЭреВрда рд╣реЛрддрд╛ рд╣реИ:рдкреЙрдбрдХрд╛рд╕реНрдЯ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдЧрд┐рд░реЗ рдирдП рдкреЙрдбрдХрд╛рд╕реНрдЯ рдХреЛ рдмрд╛рд╣рд░ рдирд┐рдХрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ рдПрдХ рдЫреЛрдЯрд╛ рдкрд╛рдпрдерди рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд▓рд┐рдЦреАред рдореИрдВрдиреЗ рдПрдХ рдЖрдзрд╛рд░ рдХреЗ рд░реВрдк рдореЗрдВ рдкрд┐рд░рд╛рдорд┐рдб рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЛ рд▓рд┐рдпрд╛, рдЬрд┐рд╕рдореЗрдВ рдЙрдкрдпреЛрдЧреА GoogleReader рдХреНрд▓рд╛рд╕ рдХреЛ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХрд╛ рд╕реНрд░реЛрдд рдХреЛрдб рдЙрдкрд▓рдмреНрдз рд╣реИ рдФрд░ рдЗрд╕рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХрд╛ рдПрдХ рдЫреЛрдЯрд╛ рд╕рд╛ рдЙрджрд╛рд╣рд░рдг рд╢рд╛рдорд┐рд▓ рд╣реИред рдкреНрд░рд▓реЗрдЦрди рд╣реИред рд╕рдЪ рд╣реИ, рдореБрдЭреЗ рдХреЗрд╡рд▓ Google рд░реАрдбрд░ API рдкрд░ рд╣реА рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдорд┐рд▓рд╛, рди рдХрд┐ рд╕реНрд╡рдпрдВ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдкрд░ред рдЖрд░рдПрд╕рдПрд╕ рдлрд╝реАрдб рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЧреБрдИ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЗ рд╕рд╛рде рдПрдХ рдЙрджрд╛рд╣рд░рдг рдЙрдкрдпреЛрдЧрд┐рддрд╛ рднреА рд╣реИред
рд╕реНрд░реЛрдд рдХреЛрдб
рдЕрдВрдд рдореЗрдВ рд╕реНрд░реЛрдд рдХреЗ рд╕рд╛рде рд╕рдВрдЧреНрд░рд╣ рд╕реЗ рд▓рд┐рдВрдХ рдХрд░реЗрдВредрдФрд░ рдпрд╣рд╛рдБ рдореБрдЦреНрдп рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рд╕реНрд░реЛрдд рд╣реИ:
рдЖрдпрд╛рдд sys рдЖрдпрд╛рдд os рдЖрдпрд╛рдд рдХрд╛ рд╕рдордп рдЖрдпрд╛рдд urlparse рдЖрдпрд╛рдд urlib рдЖрдпрд╛рдд рдкреНрд░рдЧрддрд┐ GoogleReader рдЖрдпрд╛рдд рдХрд░реЗрдВ downloadDir = "myDownloadDir"; logFile = downloadDir + "PodcastsDownloadTool.log"; рдЯреИрдЧ = "рдкреЙрдбрдХрд╛рд╕реНрдЯ"; рд▓реЙрдЧрд┐рди = "myGoogleReaderLogin"; рдкрд╛рд╕рд╡рд░реНрдб = "myGoogleReaderPassword"; GetLocalFileNameFromURL (рдкреВрд░реНрдгрдкрде): (рдлрд╝рд╛рдЗрд▓рдкрде, рдлрд╝рд╛рдЗрд▓ рдирд╛рдо) = os.path.split (urlparse.urlparse (рдкреВрд░реНрдгрдкрде) .path) рдбрд╛рдЙрдирд▓реЛрдб рдбрд╛рдЙрдирд▓реЛрдбDIR + рдлрд╝рд╛рдЗрд▓ рдирд╛рдо logMessage (рд╕рдВрджреЗрд╢) рдХреЛ рд╣рд░рд╛рдпрд╛: f = рдЦреБрд▓рд╛ (logFile, "a") рдкреНрд░рд┐рдВрдЯ >> рдПрдл, рд╕рдВрджреЗрд╢; f.close (); рдкрд╛рд╕ рдбреАрдПрдлрд╝ рдбрд╛рдЙрдирд▓реЛрдб рдлрд╝рд┐рд▓реЗ (рдпреВрдЖрд░рдПрд▓, рдлрд╝рд╛рдЗрд▓ рдирд╛рдо): рдкреНрд░рдЧрддрд┐рдмреЗрд░.рд░реЗрд╕реЗрдЯрдкреНрд░реЛрдЧреНрд░реЗрд╕рдмрд╛рд░ (); urllib.urlretrieve (url, filename, reporthook = progressBar.ProgressBarReportHook); рдкрд╛рд╕ рдбреАрдлрд╝ рдкреНрд░реЛрд╕реЗрдкреЛрдбрдХрд╛рд╕реНрдЯ рдбрд╛рдЙрдирд▓реЛрдбрд┐рдВрдЧ (): # рдЪреЗрдХ рдХрд░реЗрдВ рдФрд░ dir рдмрдирд╛рдПрдВ рдпрджрд┐ os.path.exists рдирд╣реАрдВ рд╣реИ (рдбрд╛рдЙрдирд▓реЛрдб): os.mkdir (downloadDir); # рдЧреВрдЧрд▓ рд░реАрдбрд░ рдкрд░ рд▓реЙрдЧрдЗрди рдХрд░реЗрдВ gr = GoogleReader.GoogleReader (); gr.identify (рд▓реЙрдЧрд┐рди, рдкрд╛рд╕рд╡рд░реНрдб); рдЕрдЧрд░ gr.login (): рдкреНрд░рд┐рдВрдЯ "рд▓реЙрдЧрд┐рди рдареАрдХ рд╣реИ"; рдмрд╛рдХреА: "рд▓реЙрдЧрд┐рди рдХреЛрдУ" рдкреНрд░рд┐рдВрдЯ рдХрд░реЗрдВ; рд╡рд╛рдкрд╕реА xmlfeed = gr.get_feed (рдлрд╝реАрдб = "рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ / - / рд▓реЗрдмрд▓ /% s"% рдЯреИрдЧ, n = 17, xt = "рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ / - / рд░рд╛рдЬреНрдп / com.google / read"); xmlfeed.get_entries () рдореЗрдВ рдкреНрд░рд╡реЗрд╢ рдХреЗ рд▓рд┐рдП: рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВ: googleID = рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ ['google_id']; рдЕрдЧрд░ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐.рд╣рд╛рд╕_рдХреА ('рд╕рдВрд▓рдЧреНрдирдХ'): # рд╡реЗрд░рд┐рдП рдФрд░ рдкреНрд░рд┐рдВрдЯ рдЬрд╛рдирдХрд╛рд░реА рддреИрдпрд╛рд░ рдХрд░реЗрдВ URLToDownload = рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ ['рд╕рдВрд▓рдЧреНрдирдХ']; localFilePath = GetLocalFileNameFromURL (URLToDownload); рдкреНрд░рд┐рдВрдЯ "рд╢реАрд░реНрд╖рдХ:% s"% рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ ['рд╢реАрд░реНрд╖рдХ']; рдкреНрд░рд┐рдВрдЯ "URL рд╕реЗ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ:% s ..."% URLToDownload; рдкреНрд░рд┐рдВрдЯ "рд╕реНрдерд╛рдиреАрдп рдлрд╝рд╛рдЗрд▓:% s"% localFilePath; # рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ DownloadFile (url = URLToDownload, рдлрд╝рд╛рдЗрд▓ рдирд╛рдо = localFilePath) # рд▓реЙрдЧ рд╕рдВрджреЗрд╢ LogMessage ("% s% s% s% s \ n"% (time.strftime ('% x% X'), URLToDownload, googleID, рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ ['рдкреНрд░рдХрд╛рд╢рд┐рдд']]); рдкреНрд░рд┐рдВрдЯ "рдбрд╛рдЙрдирд▓реЛрдб рдХрд┐рдпрд╛ рдЧрдпрд╛ред" # рдкрдврд╝рд╛ рд╣реБрдЖ рдХреЗ рд░реВрдк рдореЗрдВ рдЪрд┐рд╣реНрдирд┐рдд рдХрд░реЗрдВ gr.set_read (googleID); рдкреНрд░рд┐рдВрдЯ "рдЪрд┐рд╣реНрдирд┐рдд"; рд╕рд┐рд╡рд╛рдп: # рдкреНрд░рд┐рдВрдЯ рдФрд░ рд▓реЙрдЧ рддреНрд░реБрдЯрд┐ рдкреНрд░рд┐рдВрдЯ "рддреНрд░реБрдЯрд┐:", sys.exc_info (); LogMessage ("% s \ nError:% s \ nEntry:% s \ n рд╕рдВрджрд░реНрдн рдЬрд╛рдирдХрд╛рд░реА:% s \ n% s \ n"% ("=" * 80, time.strftime ('% x% X'), рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ sys.exc_info (), "=" * 80)); рдкрд╛рд╕ рдЕрдЧрд░ __name __ == '__ main__': ProcessPodcastDownloading ();
рдХреЛрдб рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг
рдореБрдЦреНрдп рдкреИрд░рд╛рдореАрдЯрд░ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ рд╕реЗрдЯ рдХрд┐рдП рдЧрдП рд╣реИрдВ:- downloadDir - рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдЬрд╣рд╛рдВ рдкреЙрдбрдХрд╛рд╕реНрдЯ рдбрд╛рдЙрдирд▓реЛрдб рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛
- logFile - рд▓реЙрдЧ рдлрд╝рд╛рдЗрд▓
- рдЯреИрдЧ - Google рд░реАрдбрд░ рдореЗрдВ рдЯреИрдЧ / рдлрд╝реЛрд▓реНрдбрд░ рдХрд╛ рдирд╛рдо рдЬрд╣рд╛рдВ рдлрд╝реАрдбреНрд╕ рджреЗрдЦреЗ рдЬрд╛рдПрдВрдЧреЗ
- рд▓реЙрдЧрд┐рди рдФрд░ рдкрд╛рд╕рд╡рд░реНрдб - Google рд░реАрдбрд░ рдореЗрдВ рд▓реЙрдЧрд┐рди рдФрд░ рдкрд╛рд╕рд╡рд░реНрдб
рдФрд░ рдлрд┐рд░ рдХреБрдЫ рднреА рдЬрдЯрд┐рд▓ рдирд╣реАрдВ рд╣реИ:
- Google рд░реАрдбрд░ рдкреНрд░рдорд╛рдгреАрдХрд░рдг
- рдкреНрд░рд╛рдкреНрдд RSS рдлрд╝реАрдбреНрд╕ рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИ
- рд╕реВрдЪрдирд╛ рдЖрдЙрдЯрдкреБрдЯ рдФрд░ рд▓реЙрдЧрд┐рдВрдЧ рдХреЗ рд╕рд╛рде рд░рд┐рдХреЙрд░реНрдб рдХрд╛ рдПрдХ рдЪрдХреНрд░
- рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдлрд╝рд╛рдЗрд▓реЗрдВ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░ рд░рд╣рд╛ рд╣реИ
- рд░рд┐рдХреЙрд░реНрдб рд▓реЗрдмрд▓ рдкрдврд╝рд╛
рдкрд╛рдЗрд░рдлрд╛рдЗрдб рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдЦреБрдж рдЖрд╡реЗрджрди рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдирд╣реАрдВ рд╣реИред рдЗрд╕реЗ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реИ, рдПрдХ рджреЛ рд▓рд╛рдЗрдиреЗрдВ (рдЬрд┐рд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдж рдореЗрдВ) рдмрдирд╛рддреЗ рд╣реИрдВ, рдФрд░ рдЗрд╕реЗ рдЖрдпрд╛рдд рдХреЗ рд▓рд┐рдП рд╕реНрд╡реАрдХрд╛рд░реНрдп рдЬрдЧрд╣ рдореЗрдВ рдбрд╛рд▓рддреЗ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЙрд╕ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХреЗ рд▓рд┐рдм рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рдЬрд╣рд╛рдВ рдкрд╛рдпрдерди рд╕реНрдерд╛рдкрд┐рдд рд╣реИ, рдлрд┐рд░ рдкреБрд╕реНрддрдХрд╛рд▓рдп рд╕рднреА рд▓рд┐рдкрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдЙрдкрд▓рдмреНрдз рд╣реЛ рдЬрд╛рдПрдЧрд╛ред
рдореЗрд░реА GoogleReader рдФрд░ рд╡реЗрдм рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдЙрд╕реА рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рд╕реНрдерд┐рдд рд╣реИрдВ рдЬрд╣рд╛рдБ рдореЗрд░реА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕реНрдерд┐рдд рд╣реИред
рдЗрдВрдЯрд░рдлрд╝реЗрд╕
рдпрд╣ рдПрдХ рд╕рд╛рдВрддреНрд╡рдирд╛ рдЙрдкрдпреЛрдЧрд┐рддрд╛ рд╣реИред рдирд┐рд╖реНрдХрд░реНрд╖ рдирд┐рдХрд╛рд▓рдирд╛редрдмрд╕ рдмреВрдЯ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдирд╛ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:
рдкреНрд░рдЧрддрд┐ рдмрд╛рд░ рдХреБрдЫ рдЙрджрд╛рд╣рд░рдг рд╕реЗ рд▓рд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдореБрдЭреЗ рдмрд┐рд▓реНрдХреБрд▓ рдпрд╛рдж рдирд╣реАрдВ рд╣реИ рдХрд┐ рдХрд╣рд╛рдВред рдЗрдВрдЯрд░рдиреЗрдЯ рдкрд░ рдХрдИ рдЙрджрд╛рд╣рд░рдг рд╣реИрдВ, рдФрд░ рдЕрдзрд┐рдХрд╛рдВрд╢ рдПрдХ рдЬреИрд╕реЗ рд╣реИрдВред рд╕реНрд░реЛрдд рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдореЗрдВ рд╣реИред
рдлреАрдб-рдереНрд░реВ рдХреЗ рд▓рд┐рдП рдкреИрдЪ
рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, GoogleFeed рд╡рд░реНрдЧ рдкрд░рд┐рдгрд╛рдореА XML рд╕реЗ рдбрд╛рдЙрдирд▓реЛрдб рд▓рд┐рдВрдХ рдкреНрд░рд╛рдкреНрдд рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИредрдореИрдВрдиреЗ рдЗрд╕ рддрд░рд╣ рдХреЗ рд╕реНрдирд┐рдкреЗрдЯ рдХреЗ рдмрд╛рдж XML рдкрд╛рд░реНрд╕рд┐рдВрдЧ рдЬреЛрдбрд╝рдХрд░ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд┐рдпрд╛:
elif dom_entry_element.localName == 'рд▓рд┐рдВрдХ': рдЕрдЧрд░ dom_entry_element.getAttribute ('rel') == 'рд╡реИрдХрд▓реНрдкрд┐рдХ' рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ ['рд▓рд┐рдВрдХ'] = dom_entry_element.getAttribute ('href')
рдРрд╕рд╛ рдПрдХ рдЯреБрдХрдбрд╝рд╛:
рдЕрдЧрд░ dom_entry_element.getAttribute ('rel') == 'рд╕рдВрд▓рдЧреНрдирдХ' рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ ['рд╕рдВрд▓рдЧреНрдирдХ'] = dom_entry_element.getAttribute ('href')
рдпрд╣ рдЗрд╕ рддрд░рд╣ рдирд┐рдХрд▓рд╛:
elif dom_entry_element.localName == 'рд▓рд┐рдВрдХ': рдЕрдЧрд░ dom_entry_element.getAttribute ('rel') == 'рд╡реИрдХрд▓реНрдкрд┐рдХ' рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ ['рд▓рд┐рдВрдХ'] = dom_entry_element.getAttribute ('href') рдЕрдЧрд░ dom_entry_element.getAttribute ('rel') == 'рд╕рдВрд▓рдЧреНрдирдХ' рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ ['рд╕рдВрд▓рдЧреНрдирдХ'] = dom_entry_element.getAttribute ('href') elif dom_entry_element.localName == 'рд╢реНрд░реЗрдгреА':
рдиреБрдХрд╕рд╛рди рдЬреЛ рдореБрдЭреЗ рд╕реВрдЯ рдХрд░рддрд╛ рд╣реИ
- рд╕рдорд░реНрдерд┐рдд рдирд╣реАрдВ рдлрд┐рд░ рд╕реЗ рд╢реБрд░реВред рд╡рд┐рдлрд▓рддрд╛ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдЖрд░рдПрд╕рдПрд╕ рдлрд╝реАрдб рдХреЛ рдкрдврд╝рдиреЗ рдХреЗ рд░реВрдк рдореЗрдВ рдЪрд┐рд╣реНрдирд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдЕрдЧрд▓реА рдмрд╛рд░ рдЬрдм рдЖрдк рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЪрд▓рд╛рддреЗ рд╣реИрдВ, рддреЛ рдлрд╝рд╛рдЗрд▓ рдлрд┐рд░ рд╕реЗ рдбрд╛рдЙрдирд▓реЛрдб рд╣реЛ рдЬрд╛рдПрдЧреАред
- рдЗрд╕рд▓рд┐рдП рдЕрдЧрд▓рд╛ рдмрд┐рдВрджреБ - рдЕрдЧрд▓реА рдмрд╛рд░ рдЬрдм рдЖрдк рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЪрд▓рд╛рддреЗ рд╣реИрдВ, рддреЛ рдЧрд▓рдд рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐рдпрд╛рдБ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рдореЗрдВ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдлрд╝рд╛рдЗрд▓ рдХрд╛ рд▓рд┐рдВрдХ рдирд╣реАрдВ рд╣реИ, рдРрд╕рд╛ рд╣реЛрддрд╛ рд╣реИ) рдХреЛ рдлрд┐рд░ рд╕реЗ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдЖрдк рдЙрдиреНрд╣реЗрдВ рдПрдХ рд╡рд┐рд╢реЗрд╖ рдЯреИрдЧ рдХреЗ рд╕рд╛рде рдЯреИрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдЙрдиреНрд╣реЗрдВ рдЫреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВред рд▓реЗрдХрд┐рди рдореИрдВ рдЕрдкрдард┐рдд рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдЯреЗрдк рдХреЗ рдмрд╛рдж рдХреЗ рдореИрдиреБрдЕрд▓ рджреЗрдЦрдиреЗ рд╕реЗ рд╕рдВрддреБрд╖реНрдЯ рд╣реВрдВред
- рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рд╕рдВрдЧреНрд░рд╣рдг - рд╕реНрдкрд╖реНрдЯ рдкрд╛рда рдореЗрдВ рд▓реЙрдЧрд┐рди рдФрд░ рдкрд╛рд╕рд╡рд░реНрдбред рд▓реЙрдЧрд┐рди рдЕрднреА рддрдХ рдбрд░рд╛рд╡рдирд╛ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдкрд╛рд╕рд╡рд░реНрдб ... рдЖрдк рдЧреЗрдЯрдкрд╛рд╕ () рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдпрд╛ рдЗрд╕реЗ рдХрд┐рд╕реА рдЕрдиреНрдп рд╕реНрдерд╛рди рдкрд░ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдЬрдм рдЖрдк USB рдлреНрд▓реИрд╢ рдбреНрд░рд╛рдЗрд╡ рдпрд╛ рдкреНрд▓реЗрдпрд░ рдХрдиреЗрдХреНрдЯ рдХрд░рддреЗ рд╣реИрдВ рддреЛ рдЖрдк рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд▓реЙрдиреНрдЪ рдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, USB рдбрд┐рдЯреЗрдХреНрдЯ рдПрдВрдб рд▓реЙрдиреНрдЪ рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ (рдпрд╣ рд╣рдм рдкрд░ рдкрд╣рд▓реЗ рд╣реА рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛)ред
рдлрд┐рдирд┐рд╢ рд▓рд╛рдЗрди
рдФрд░ рд╕рдВрдЧреНрд░рд╣ рдореЗрдВ рд╕реНрд░реЛрдд редрдореИрдВрдиреЗ рдЕрдкрдиреЗ рдкреЗрдЬ рд╕реЗ рдиреЛрдЯ рдХреЙрдкреА рдХрд┐рдпрд╛ред