genzj / pybingwallpaper

Download wallpaper from bing.com
MIT License
547 stars 103 forks source link

Add a parameter to record wallpaper descriptions #18

Closed zulrak1 closed 10 years ago

zulrak1 commented 10 years ago

Each Bing Wallpaper, besides its name, as a description in "copyright" tag of HPimageArchive output. That description can now be seen in batch execution of Pybingwallpapper but it is not recorded. Example:

[2014-02-20 11:39:02,716 - INFO - main] Nashornpelikan, Red River, Lockport, Manitoba, Kanada (© Ken Gillespie/Corbis) photo list: ('http://www.bing.com/az/hprichbg/rb/AmericanWhitePelican_DE-DE14121520207_1920x1080.jpg',)

It would be nice if Pybingwallpaper could write in a separate file, adding in a new line for each execution, the pair "filename/description" of each wallpaper downloaded.

tks

zulrak1 commented 10 years ago

An addenda for my suggestion:

Also add in each record the wallpaper date, output tag "startdate".

genzj commented 10 years ago

Hi @zulrak1,

It's another great idea from you, as always. I'll check what I can do with it. I need to compare some file formats. TXT would be easy but not a good idea for long-term usage, or some rotation mechanism must be introduced to bound file size. SQLite, json or XML may be more friendly to developers but not to normal users.

I'll try save data in XML files and make a template to display them in some album alike ways.

Thanks a lot, Jie

zulrak1 commented 10 years ago

Hi An alternative to this suggestion could be this data be inserted in adequate fields of the metadata of each jpeg, if this can be possible.

tks, zulrak1

genzj commented 10 years ago

Hello @zulrak1,

Sorry for the late response. I added a database support for record storage as well as image collection. Here is the wiki page for it https://github.com/genzj/pybingwallpaper/wiki/Collect-Images-into-Database

Could you please try it and let me know how it works? I'm wondering if I should pack the image into database, or just remember metadata and leave pictures outside.

I'll also investigate the alternative solution you proposed. It's not conflict to the database.

Thanks a lot :smiley:

zulrak1 commented 10 years ago

Hi

I've already installed your new version of Pybingwallpaper and SQLite and I have made many tests.

It works fine. Thanks a lot for this new functionality. It will be very useful for me and surely for many people.

For my personal use I would be interested in two additions:

Bing only adds information in metadata of jpeg images for some 1920x1200 wallapers with logo. They do the following when adding information to the metadata of files, repeating information in pairs Title/Subject, Authors/Copyright:

Metadata fields <--> HPImageArchive tags

Title <--> first part of Subject <--> first part of

Authors <--> last part of Copyright <--> last part of

I personally use metadata field "Date taken" to store issue date taken from output tag of HPImageArchive.

If you have possibility to add information in metadata of files I think it would be enough the following:

Title <--> Date taken <-->

Thanks very much

Regards

zulrak1

On Fri, Apr 18, 2014 at 6:30 AM, genzj notifications@github.com wrote:

Hello @zulrak1 https://github.com/zulrak1,

Sorry for the late response. I added a database support for record storage as well as image collection. Here is the wiki page for it https://github.com/genzj/pybingwallpaper/wiki/Collect-Images-into-Database

Could you please try it and let me know how it works? I'm wondering if I should pack the image into database, or just remember metadata and leave pictures outside.

I'll also investigate the alternative solution you proposed. It's not conflict to the database.

Thanks a lot [image: :smiley:]

— Reply to this email directly or view it on GitHubhttps://github.com/genzj/pybingwallpaper/issues/18#issuecomment-40787991 .

genzj commented 10 years ago

Hello,

Thanks a lot for your review and prompt reply. I'm adding several columns to the database. Besides issue date, I would also try adding those search URLs and tips into database. They are interesting sometimes.

Regarding the metadata option, it's actually more graceful than database solution. Currently the only obstacle is that Python needs 3rd-party library to manipulate jpeg metadata. I'm now investigating different libraries. The feature can be implemented soon.

Thanks for your great support, it means a lot to me.

zulrak1 commented 10 years ago

Hi again

For safety I have processes using Pybingwallpaper that overlap a few days for each market.

Your sql table has row "url" as a key having no duplicates. That is good. But even having "redownload=false" the column "DownloadTime" always updates for last execution, even when the record is already there. The value of ""DownloadTime" should not remain the initial one, the value of first time that "url" was loaded, when having redownload=false?

tks

zulrak

On Tue, Apr 22, 2014 at 1:53 AM, genzj notifications@github.com wrote:

Hello,

Thanks a lot for your review and prompt reply. I'm adding several columns to the database. Besides issue date, I would also try adding those search URLs and tips into database. They are interesting sometimes.

Regarding the metadata option, it's actually more graceful than database solution. Currently the only obstacle is that Python needs 3rd-party library to manipulate jpeg metadata. I'm now investigating different libraries. The feature can be implemented soon.

Thanks for your great support, it means a lot to me.

— Reply to this email directly or view it on GitHubhttps://github.com/genzj/pybingwallpaper/issues/18#issuecomment-40993359 .

zulrak1 commented 10 years ago

One very useful column to add in the table could be market code "mkt", not the value given to Pybingwallpaper, but the output tag of HPImageArchive, only visible if given argument mbl=1:

http://www.bing.com/HPImageArchive.aspx?format=js&idx=0&n=1&mkt=aa-bb&mbl=1

{"market":{"mkt":"en-ww"},"images":

Given to Pybingwallpaper: aa-bb, returned by HPImageArchive: en-ww

On Wed, Apr 23, 2014 at 1:03 PM, Zulrak Dor zulrak@gmail.com wrote:

Hi again

For safety I have processes using Pybingwallpaper that overlap a few days for each market.

Your sql table has row "url" as a key having no duplicates. That is good. But even having "redownload=false" the column "DownloadTime" always updates for last execution, even when the record is already there. The value of ""DownloadTime" should not remain the initial one, the value of first time that "url" was loaded, when having redownload=false?

tks

zulrak

On Tue, Apr 22, 2014 at 1:53 AM, genzj notifications@github.com wrote:

Hello,

Thanks a lot for your review and prompt reply. I'm adding several columns to the database. Besides issue date, I would also try adding those search URLs and tips into database. They are interesting sometimes.

Regarding the metadata option, it's actually more graceful than database solution. Currently the only obstacle is that Python needs 3rd-party library to manipulate jpeg metadata. I'm now investigating different libraries. The feature can be implemented soon.

Thanks for your great support, it means a lot to me.

— Reply to this email directly or view it on GitHubhttps://github.com/genzj/pybingwallpaper/issues/18#issuecomment-40993359 .

genzj commented 10 years ago

Nice discovery. I'm working on the database improvement right now. I'll add this to storage really soon. Thanks!

On Mon, Apr 28, 2014 at 10:18 PM, zulrak1 notifications@github.com wrote:

One very useful column to add in the table could be market code "mkt", not the value given to Pybingwallpaper, but the output tag of HPImageArchive, only visible if given argument mbl=1:

http://www.bing.com/HPImageArchive.aspx?format=js&idx=0&n=1&mkt=aa-bb&mbl=1

{"market":{"mkt":"en-ww"},"images":

Given to Pybingwallpaper: aa-bb, returned by HPImageArchive: en-ww

On Wed, Apr 23, 2014 at 1:03 PM, Zulrak Dor zulrak@gmail.com wrote:

Hi again

For safety I have processes using Pybingwallpaper that overlap a few days for each market.

Your sql table has row "url" as a key having no duplicates. That is good. But even having "redownload=false" the column "DownloadTime" always updates for last execution, even when the record is already there. The value of ""DownloadTime" should not remain the initial one, the value of first time that "url" was loaded, when having redownload=false?

tks

zulrak

On Tue, Apr 22, 2014 at 1:53 AM, genzj notifications@github.com wrote:

Hello,

Thanks a lot for your review and prompt reply. I'm adding several columns to the database. Besides issue date, I would also try adding those search URLs and tips into database. They are interesting sometimes.

Regarding the metadata option, it's actually more graceful than database solution. Currently the only obstacle is that Python needs 3rd-party library to manipulate jpeg metadata. I'm now investigating different libraries. The feature can be implemented soon.

Thanks for your great support, it means a lot to me.

— Reply to this email directly or view it on GitHub< https://github.com/genzj/pybingwallpaper/issues/18#issuecomment-40993359> .

— Reply to this email directly or view it on GitHubhttps://github.com/genzj/pybingwallpaper/issues/18#issuecomment-41563226 .

zulrak1 commented 10 years ago

Since yesterday HPimagearchive output have changed a bit. From now on output tag "mkt", for non-issuing markets, is its market code itself, not "en-ww" as until now. That way, unlike until now, there is not a unique correspondence between "url" and output tag "mkt". From now on many "mkt" may correspond to same "url", when filenames are ROW.jpg. Maybe you may consider this new reality in working in your database.

genzj commented 10 years ago

I think that could be caused by the new dynamic background introduced recently. I'm thinking what should I do with it...

On Wed, May 14, 2014 at 9:44 PM, zulrak1 notifications@github.com wrote:

Since yesterday HPimagearchive output have changed a bit. From now on output tag "mkt", for non-issuing markets, is its market code itself, not "en-ww" as until now. That way, unlike until now, there is not a unique correspondence between "url" and output tag "mkt". From now on many "mkt" may correspond to same "url", when filenames are ROW.jpg. Maybe you may consider this new reality in working in your database.

— Reply to this email directly or view it on GitHubhttps://github.com/genzj/pybingwallpaper/issues/18#issuecomment-43081574 .

zulrak1 commented 10 years ago

Maybe you could force the value of mkt "en-ww" in future table when "url" contains "_ROW", regardless the output value of "mkt" from HPImageArchive. mkt=en-ww still exists. If not there will be lots of duplicates in the table when users try to download wallpapers from markets without their own filenames.

zulrak1 commented 10 years ago

Hi

For wiki.

Since around one week there's a new market issuing Bing wallpapers, also in 1920x1200 resolution with logo, en-IN, India (English). Pybingwallpaper works fine with it.

Resuming:

Markets that now issue wallpapers:

Markets issuing 1920x1200 with logo:

Wallpaper resolutions detected, for all markets:

Regards

Zulrak

zulrak1 commented 10 years ago

Hi again

An addenda to my previous information.

Since around two weeks ago all markets that until now didn't issue 1920x1200 wallpapers began issuing them sometimes.

So one call tell now that all 12 markets also issue 1920x1200 wallpapers.

Regards

zulrak

On Mon, Oct 6, 2014 at 9:42 AM, Zulrak Dor zulrak@gmail.com wrote:

Hi

For wiki.

Since around one week there's a new market issuing Bing wallpapers, also in 1920x1200 resolution with logo, en-IN, India (English). Pybingwallpaper works fine with it.

Resuming:

Markets that now issue wallpapers:

  • en-WW, de-DE, en-AU, en-CA, en-GB, en-IN, en-US, fr-CA, fr-FR, ja-JP, pt-BR, zh-CN

Markets issuing 1920x1200 with logo:

  • en-WW (2 logos), en-IN, en-US, zh-CN

Wallpaper resolutions detected, for all markets:

  • 176x220
  • 220x176
  • 240x240
  • 240x320
  • 240x400
  • 320x240
  • 320x320
  • 360x480
  • 400x240
  • 480x360
  • 480x640
  • 480x800
  • 640x480
  • 768x1024
  • 768x1280
  • 768x1366
  • 800x480
  • 800x600
  • 1024x768
  • 1080x1920
  • 1280x720
  • 1280x768
  • 1366x768
  • 1920x1080
  • 1920x1200 (with logo)

Regards

Zulrak