update for beem: first release for HF 21
beem·@holger80·
0.000 HBDupdate for beem: first release for HF 21
## Repository
https://github.com/holgern/beem<center>

</center>
[beem](https://github.com/holgern/beem) is a python library for steem. The current version is 0.21.1.
There is also a discord channel for beem: https://discord.gg/4HM592V
The newest beem version can be installed by:
```
pip install -U beem
```
## Changelog
```
0.21.1
------
* Fix non ascii text handling on some nodes
* Add STEEM_REVERSE_AUCTION_WINDOW_SECONDS_HF21 constant
* Fix get_curation_rewards
0.21.0
------
* First release for HF21
* get_downvoting_power added to account
* get_downvote_manabar added to account
* add options use_tags_api to use database api to get comments
* fix get_similar_account_names
* add more try expect to fail back to condenser api
* operations for account_update2, create_proposal, update_proposal_votes and remove_proposal were added
* update_proposal_votes was added to steem
* update_account_jsonmetadata was added to account
* new beempy delete were added
```
## Get content without using the tags api
At the moment most nodes have disabled the tags api. I added a new parameter, so that it is still possible to receive comments.
```
from beem import Steem
from beem.comment import Comment
stm = Steem(node="https://api.steemit.com")
c = Comment("@holger80/bumpy-start-with-hf-21-scotbot-is-running", steem_instance=stm)
set_full = set(list((c.keys())))
c = Comment("@holger80/bumpy-start-with-hf-21-scotbot-is-running", use_tags_api=False, steem_instance=stm)
set_lite = set(list((c.keys())))
print(set_full - set_lite)
print(set_lite - set_full)
```
Which shows the missing fields, when not using the tags_api:
```
{'active_votes',
'author_reputation',
'body_length',
'pending_payout_value',
'post_id',
'promoted',
'replies',
'root_title',
'url'}
```
and the added fields:
```
{'abs_rshares',
'active',
'allow_curation_rewards',
'allow_replies',
'allow_votes',
'author_rewards',
'children_abs_rshares',
'max_cashout_time',
'net_votes',
'reward_weight',
'root_author',
'root_permlink',
'total_vote_weight',
'vote_rshares'}
```
`use_tags_api=False` can be used when the active votes of the post are not needed.
## json-parsing was fixed
```
from beem import Steem
stm = Steem("https://anyx.io")
from beem.block import Block
b = Block(35097419, steem_instance=stm)
print(b.operations[-22]["value"]["title"])
```
returns now the correct utf-8 string:
<스파이더맨 : 파 프롬 홈> 블루엔젤 니어 프롬 (퓨처) 홈 💙
## Downvote manabar
```
from beem.account import Account
acc = Account("holger80")
print(acc.get_downvote_manabar())
```
returns
```
{'last_mana': 30121812653872, 'last_update_time': 1567022076, 'current_mana': 30429666853775, 'max_mana': 32442250357182.0, 'current_mana_pct': 93.79641214388982}
```
## New proposal operation
The new proposal operation were added as operation, so far only `update_proposal_votes` was added as function to steem:
```
from beem import Steem
stm = Steem()
stm.wallet.unlock("...")
stm.update_proposal_votes([0], True, account="holger80")
```
## Outlook
The following things are on my todo list:
* add the other proposal operations
* fix get_replies
* fix curation rewards calculations
* add functions to show information about proposals
* add proposal to beempy👍 dfen, palvoter, stmdev, sargoon, detlev, tsurmb, robofox, changeangels, resheep, upcroak, bubbleburst, thefunfactory, someonefun, funbox, funlands, funanime, funkyfun, funnyfun, goldrym, qeoddrir, dodrorth, themuffinman, shebe, besheda, rakan-sikula, therealwolf, abh12345.stem, abh12345, sudefteri, carlpei, neokuduk, sultan-aceh, smartsteem, cardboard, cfminer, tipu.curator, steemtank, rycharde, jacekw, akifane, ewkaw, literaturk, alitavirgen, ayisigi, ctime, r-ag, mister-eagle, r-pal, akomoajong1, fuckeverything, class101, zaku-pal, soundworks, steembasicincome, ripperone, accelerator, drorion, jpphotography, sbi2, dera123, a-bot, map10k, sbi3, sbi4, sbi5, freebornsociety, mytechtrail, flugschwein, darthgexe, sbi6, raspibot, dyrt88, fulcrumleader, wildarms65, ultima-alianza, brustem, fragmentarion, vida-blanca, sbi7, palasatenea, rael5, cgames, eliana-art, dera123pal, reazuliqbal, michelangelo3, qurator, sbi8, wherein, broxi, szf, gregory-f, yadamaniart, emdesan, sisygoboom, qberry, m3bot, erikaflynn, michelios, che-shyr, turkishcrew, smarmy, mariajruizb, sbi9, amico, sbi10, lelon, dreamarif, jahedkhan, sbi-tokens, mk-stem-token, jacekw.dev, itchyfeetdonica, steemtaker, diceshark, vxc, jppal, ew-and-patterns, mapxv, make-a-whale, gtg, aakom, maxuvv, superlao, theb0red1, hamsa.quality, crokkon, maxuva, maxuvb, maxuvc, maxuvd, maxuve, flemingfarm, holger.random, abitcoinskeptic, maxpatternman, pagliozzo, dachcolony, eikejanssen, dreimaldad, jean-luc.picard, theleapingkoala, bubke, fullnodeupdate, curbot, genuinehuman, financialadvice, jchappe, bluengel, feedyourminnows, elleok, cofvoter, sam99, remlaps, stevescoins, sashas, brujas, kpopprincess, warfeed, thomasgift, backinblackdevil, naltedtirt, hibee, isnochys, anli, ibc, soccermom, twenty1, soloduet, thanksgiving, holycow2019, organduo.pal, laputis.pal, re2pair, muscara, ilovecanada, goldentouch, snwolak, zcool, lauchmelder, reggaemuffin, upgoat, badham, lukasmining, shahabudin, linkerstinker, orbo, vaccinusveritas, vaansteam, saboin, tronsformer, mohaaking, sugarzone, swedishdragon76, jsantana, laissez-faire, justabystander, naha.stem, ticketyboo, satren, linnyplant, flodor, sternekoechin, ichmusslaufen, smsmb-votebot, zeugen, thecryptodrive, glitterbooster, kingnosa, ticketywoof, coquiunlimited, abigail-dantes, steemituplife, kamikaze, david-grant, stem.alfa, amico.pal, malay11, captain.kirk, palnetvoter, samantha-w, anthive, fooblic, ambercookie, michaelizer, alvinvoo, perepilichnyy, commonlaw, contrabourdon, ikarus56, echobourdon, abbak7, arsadulislam, steempty, fminerten, tonimontana, anthonyadavisii, schlafhacking, enforcer48, jeffrey24864, taskmaster4450pa, snackaholic, timcliff, shogo, shogo.life, hope-on-fire, tamito0201, never-giveup, cloude22, michealb, twinner, arcange, sepracore, raphaelle, lebin, altobee, fulltimebot20, agmoore2, agmoore, shinersfamily, fraenk, dotwin1981, kaldewei, onespringday, jarunik, donkeyslayer, borislavzlatanov, themanny, steem-ua, partiko, cryptorunway, goodcontentbot, steem-plus, bitcoingodmode, hadisp1415, sbd-steemfree, sasifuddin, barton26, doitvoluntarily, fulltimebot40, memen, fulltimebot52, remlaps-lite, yangyanje, fulltimeangel, steemitcuration, fulltimebot33, sourovafrin, svirus, elenasteem, fulltimebot42, poisoncontrol, fulltimebot2, fulltimebot28, fulltimebot37, fulltimebot6, ubasti, tyrnannoght, goldmanmorgan, gmdatacenter, gmtester, gmtester2, tyrzone.tin00, tyrzone.tin01, tyrzone.tin02, tyrzone.tin03, tyrzone.tin04, tyrzone.tin05, tyrzone.cop00, tyrzone.cop01, zua-khan, holger80, bookkeeping, fulltimebot31, kofie, fredkese.pal, anggreklesta.alt, deepak0018,