tblancher / pymazon

Automatically exported from code.google.com/p/pymazon
Other
0 stars 0 forks source link

New .amz format? #52

Open GoogleCodeExporter opened 8 years ago

GoogleCodeExporter commented 8 years ago
What steps will reproduce the problem?
1. Download an AMZ file from Amazon
2. Try to load it into pymazon
3. Watch nothing happen

What is the expected output? What do you see instead?
gtk python code throws this Error:

Traceback (most recent call last):
  File "/usr/local/lib/python2.7/dist-packages/pymazon/gtk/tree_model.py", line 45, in on_get_iter
    raise ValueError
ValueError

console mode doesn't detect any files and tries to download them anyway

What version of the product are you using? On what operating system?
v0.9.1 on Ubuntu Linux 12.04

Original issue reported on code.google.com by cuc...@gmail.com on 11 Sep 2012 at 4:17

GoogleCodeExporter commented 8 years ago
Can you send me the offending .amz file privately so I can look and see if the 
format has changed?

Original comment by SCColbert@gmail.com on 11 Sep 2012 at 4:20

GoogleCodeExporter commented 8 years ago
sent

Original comment by cuc...@gmail.com on 11 Sep 2012 at 4:27

GoogleCodeExporter commented 8 years ago
I'm having the same issue. Per your comment to cuc...@gmail, 2 files are 
attached: 
<> A .amz file that produced the same result. 
<> A text file (pymazonOutput) showing the console dialog when running Pymazon 
from the command line. Although the console output claims something was saved 
to /home/Will/Downloads/AmazonMP3, that directory remains empty. 

I don't know how to get the traceback output that cuc... showed. 

This is Pymazon 0.9.1 on Debian Squeeze. 

May I suggest: Include the version number in the opening comments of the 
pymazon program. I'm not aware of any way to tell what version one has, other 
than to install the latest version - replacing what could already be the latest 
version. 

Original comment by Will.Sti...@gmail.com on 15 Sep 2012 at 7:14

Attachments:

GoogleCodeExporter commented 8 years ago
From what I could tell last time, Amazon is now giving out empty AMZ files on 
the download page. There's nothing wrong with Pymazon, the AMZ files just don't 
have any track records. You have to get the real AMZ file from the cloud player 
directly. Sadly, they block this feature for linux users. I tried a lot of 
fancy spoofing tricks to make Amazon think I was a normal windows users, but 
somehow none of them worked. The only workaround I've found so far is to 
download each track individually. Good luck.

Original comment by cuc...@gmail.com on 15 Sep 2012 at 12:12

GoogleCodeExporter commented 8 years ago
The AMZ files aren't empty, they're all 283 bytes.  I don't know how large they 
were before, though.  I still have three of them in my /tmp folder, all for the 
same song, in case you need more.

Original comment by darth.br...@gmail.com on 17 Sep 2012 at 5:48

GoogleCodeExporter commented 8 years ago
The file is effectively empty; all it contains is

<playlist>
  <title>Cloud Player Download</title>
  <extension application="http://www.amazon.com">
    <endpoint>https://www.amazon.com/cirrus/</endpoint>
  </extension>
  <trackList/>
</playlist>

(normally trackList would have links to the songs in it!)

It works normally for me if I use an MSIE User-Agent.  (Same goes for the Cloud 
Player, although you need to log out and back in.  With an Iceweasel 
User-Agent, the Cloud Player will refuse to let you download more than one file 
at once.)

See also:
https://code.google.com/p/clamz/issues/detail?id=35
https://code.google.com/p/clamz/issues/detail?id=36

Original comment by Benjamin...@gmail.com on 17 Sep 2012 at 7:32

GoogleCodeExporter commented 8 years ago
http://chrispederick.com/work/user-agent-switcher/

Works fine with UAS set to MSIE.

Original comment by rickr...@gmail.com on 18 Sep 2012 at 1:20

GoogleCodeExporter commented 8 years ago
I'm not sure if this is related.

I tried pymazon on an .amz file from a single file purchase (!), which did not 
work either.

It did report the title of the track, But I also got a Value Error from the 
download thread.

  File "/usr/local/lib/python2.7/dist-packages/pymazon/core/downloader.py", line 92, in _download
    fs = int(obj.filesize)
ValueError: invalid literal for int() with base 10: ''

I decrpyted the .amz file using the decrypter in pymazon.

The resulting xml file contained a non-empty playlist and a link. I did use the 
link to download the MP3 with wget.

I used pymazon 0.9.1 (I think, files are from Oct. 15, 2011).

Original comment by Michael.Strecke on 30 Sep 2012 at 5:16

GoogleCodeExporter commented 8 years ago
Ok - after some digging into the source code:

The error described above occurs when using the cli version of pymazon.

The problem seems to be, that the .amz file does not contain the track's file 
length anymore, which in turn messes with way the program is calculating the 
download progress.

Original comment by Michael.Strecke on 30 Sep 2012 at 8:02

GoogleCodeExporter commented 8 years ago
Michael, I think the issue you listed is covered in Issue 53. (It's slightly 
different than the one listed here, I think.) I've created a working patch in 
that thread, though it's not very elegant.

I'd welcome anyone who had a better grasp of the language to produce something 
more pythonic.

Original comment by jsphs...@gmail.com on 8 Oct 2012 at 10:40